成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

Fabric學(xué)習(xí)筆記(三) - Fabric v1.0.5 使用CouchDB

liangzai_cool / 3812人閱讀

摘要:前言默認(rèn)的為功能有限現(xiàn)在把它該歸它提供了豐富的查詢功能拉取使用啟動利用上節(jié)教程使所有添加至改用安裝請把環(huán)境變量都改為的實(shí)例化創(chuàng)建一些并交易

前言

默認(rèn)的state DB為goleveldb,功能有限,現(xiàn)在把它該歸CouchDB.它提供了豐富的查詢功能

拉取coundb image
docker pull hyperledger/fabric-couchdb:x86_64-1.0.5
docker tag hyperledger/fabric-couchdb:x86_64-1.0.5 hyperledger/fabric-couchdb
使用couchDB啟動docker-compose
CHANNEL_NAME=mumubin TIMEOUT=1000 docker-compose -f docker-compose-cli.yaml -f docker-compose-couch.yaml up 
利用上節(jié)教程使所有peers添加至channel chaincode改用marbles02 安裝chaincode(請把環(huán)境變量都改為peer0.org1.example.com的)
peer chaincode install -o orderer.example.com:7050 -n marbles -v 1.0 -p github.com/hyperledger/fabric/examples/chaincode/go/marbles02
實(shí)例化marbles02
peer chaincode instantiate -o orderer.example.com:7050 --tls $CORE_PEER_TLS_ENABLED --cafile $ORDERER_CA -C $CHANNEL_NAME -n marbles -v 1.0 -c "{"Args":["init"]}" -P "OR ("Org0MSP.member","Org1MSP.member")"
Invoke 創(chuàng)建一些marble并交易
peer chaincode invoke -o orderer.example.com:7050 --tls $CORE_PEER_TLS_ENABLED --cafile $ORDERER_CA -C $CHANNEL_NAME -n marbles -c "{"Args":["initMarble","marble1","blue","35","tom"]}"
peer chaincode invoke -o orderer.example.com:7050 --tls $CORE_PEER_TLS_ENABLED --cafile $ORDERER_CA  -C $CHANNEL_NAME -n marbles -c "{"Args":["initMarble","marble2","red","50","tom"]}"
peer chaincode invoke -o orderer.example.com:7050 --tls $CORE_PEER_TLS_ENABLED --cafile $ORDERER_CA  -C $CHANNEL_NAME -n marbles -c "{"Args":["initMarble","marble3","blue","70","tom"]}"
peer chaincode invoke -o orderer.example.com:7050 --tls $CORE_PEER_TLS_ENABLED --cafile $ORDERER_CA  -C $CHANNEL_NAME -n marbles -c "{"Args":["transferMarble","marble2","jerry"]}"
peer chaincode invoke -o orderer.example.com:7050 --tls $CORE_PEER_TLS_ENABLED --cafile $ORDERER_CA  -C $CHANNEL_NAME -n marbles -c "{"Args":["transferMarblesBasedOnColor","blue","jerry"]}"
peer chaincode invoke -o orderer.example.com:7050 --tls $CORE_PEER_TLS_ENABLED --cafile $ORDERER_CA  -C $CHANNEL_NAME -n marbles -c "{"Args":["delete","marble1"]}"
CouchDB可以通過瀏覽器訪問 ssh映射端口
ssh -L5984:127.0.0.1:5984 [email protected]
打開瀏覽器查詢CouchDB

通過query接口程序
peer chaincode query -C $CHANNEL_NAME -n marbles -c "{"Args":["readMarble","marble2"]}"
Query Result: {"color":"red","docType":"marble","name":"marble2","owner":"jerry","size":50}
peer chaincode query -C $CHANNEL_NAME -n marbles -c "{"Args":["getHistoryForMarble","marble1"]}"

Query Result: [{"TxId":"823617c460250583550d5998d1919653181b4044bea2219947da7d50795c5c8e", "Value":{"docType":"marble","name":"marble1","color":"blue","size":35,"owner":"tom"}, "Timestamp":"2018-01-18 05:50:16.228066078 +0000 UTC", "IsDelete":"false"},{"TxId":"b734917a08f8211bdd554a210c0e1ae8f02067584e3dadd9a96c0bec05b831bf", "Value":{"docType":"marble","name":"marble1","color":"blue","size":35,"owner":"jerry"}, "Timestamp":"2018-01-18 05:50:43.550703802 +0000 UTC", "IsDelete":"false"},{"TxId":"78d8a148aa07d913a45372a9d6ae4ef5ad0369364bc88cc3b855940219028dfd", "Value":null, "Timestamp":"2018-01-18 05:50:48.935805386 +0000 UTC", "IsDelete":"true"}]
2018-01-18 05:52:59.188 UTC [main] main -> INFO 007 Exiting.....
peer chaincode query -C $CHANNEL_NAME -n marbles -c "{"Args":["queryMarblesByOwner","jerry"]}"

Query Result: [{"Key":"marble2", "Record":{"color":"red","docType":"marble","name":"marble2","owner":"jerry","size":50}},{"Key":"marble3", "Record":{"color":"blue","docType":"marble","name":"marble3","owner":"jerry","size":70}}]
注意

如果數(shù)據(jù)持久化想在peer 容器或者CouchDB容器進(jìn)行,需要掛載一個目錄至docker.

掛載至peer container,修改docker-compose-base.yaml

volumes:
 - /var/hyperledger/couchdb0:/opt/couchdb/data

掛載至CouchDB container,修改docker-compose-couch.yaml

volumes:
 - /var/hyperledger/peer0:/var/hyperledger/production

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/23948.html

相關(guān)文章

  • Fabric學(xué)習(xí)筆記(二) - Docker下手工啟動Fabric v1.0.5網(wǎng)絡(luò)

    摘要:前言安裝筆記中的是一站式的運(yùn)行例子具體做了什么我們這里一步一步分開來看參考資料網(wǎng)絡(luò)拓?fù)渖山M織關(guān)系和身份證書設(shè)置環(huán)境變量檢查環(huán)境變量的生成確保自己在目錄下生成密鑰文件查看生成的密鑰目錄生成服務(wù)啟動區(qū)塊設(shè) 前言 Fabric v1.0.5安裝筆記 中的network_setup.sh up是一站式的運(yùn)行,e 2e cli例子.具體做了什么,我們這里一步一步分開來看 參考資料: end-...

    ad6623 評論0 收藏0
  • SegmentFault 技術(shù)周刊 Vol.41 - 深入學(xué)習(xí)區(qū)塊鏈

    摘要:和比特幣協(xié)議有所不同的是,以太坊的設(shè)計(jì)十分靈活,極具適應(yīng)性。超級賬本區(qū)塊鏈的商業(yè)應(yīng)用超級賬本超級賬本是基金會下的眾多項(xiàng)目中的一個。證書頒發(fā)機(jī)構(gòu)負(fù)責(zé)簽發(fā)撤 showImg(https://segmentfault.com/img/bV2ge9?w=900&h=385); 從比特幣開始 一個故事告訴你比特幣的原理及運(yùn)作機(jī)制 這篇文章的定位會比較科普,盡量用類比的方法將比特幣的基本原理講出來...

    qianfeng 評論0 收藏0
  • Hyperledger Fabric(構(gòu)建你的第一個網(wǎng)絡(luò))

    摘要:構(gòu)建你的第一個網(wǎng)絡(luò)方案提供了一個包含兩個組織的示例網(wǎng)絡(luò),每個組織維護(hù)兩個對等節(jié)點(diǎn),以及一個獨(dú)立排序服務(wù)。它還將啟動一個容器來運(yùn)行腳本執(zhí)行,該執(zhí)行將對等點(diǎn)連接到一個通道,部署和實(shí)例化鏈碼并驅(qū)動針對部署的鏈碼執(zhí)行交易。 構(gòu)建你的第一個網(wǎng)絡(luò) 這些說明已經(jīng)過驗(yàn)證,可以與最新的穩(wěn)定Docker鏡像和提供的tar文件中預(yù)編譯的安裝實(shí)用程序一起工作,如果使用當(dāng)前主分支中的鏡像或工具運(yùn)行這些命令,則可...

    XUI 評論0 收藏0
  • Hyperledger Fabric(目錄)

    摘要:企業(yè)區(qū)塊鏈平臺企業(yè)級許可的分布式分類賬平臺,為廣泛的行業(yè)用例提供模塊化和多功能性。這些節(jié)點(diǎn)通過應(yīng)用已經(jīng)由共識協(xié)議驗(yàn)證的交易來維護(hù)分類帳的副本,該交易被分組為包括將每個塊綁定到前一個塊的散列的塊中。 企業(yè)區(qū)塊鏈平臺 企業(yè)級許可的分布式分類賬平臺,為廣泛的行業(yè)用例提供模塊化和多功能性。 介紹 一般而言,區(qū)塊鏈?zhǔn)且粋€不可變的交易分類賬,維護(hù)在一個分布式對等節(jié)點(diǎn)網(wǎng)絡(luò)中。這些節(jié)點(diǎn)通過應(yīng)用已經(jīng)由共...

    trigkit4 評論0 收藏0
  • Fabric環(huán)境搭建

    摘要:環(huán)境搭建快速入門前提安裝安裝安裝安裝查看版本信息輸出安裝查看版本信息輸出版本要求版本要求上傳解壓文件編輯環(huán)境變量文件添加如下內(nèi)容輸出如果系統(tǒng)中有舊版本的則使用如下命令卸載舊版本的然后再重新安裝 環(huán)境搭建 快速入門: http://hyperledger-fabric.rea... 前提 安裝git $ sudo apt update $ sudo apt install git 安裝...

    fou7 評論0 收藏0

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<