搭建第一個fabric網(wǎng)絡(luò)(版本1.4.2)——(六)通道與鏈碼

通道與鏈碼操作

以下操作均于centos7.6虛擬機環(huán)境使用root用戶完成,可以根據(jù)具體需求進行選擇實體機與不同用戶選擇

該教程(搭建第一個fabric網(wǎng)絡(luò)1.4.2版本)基本完全基于官方文檔進行,適用于缺乏了解的新手與感興趣的人群


官方文檔地址:


1.創(chuàng)建并加入應(yīng)用通道

使用之前生成的通道配置交易生成應(yīng)用通道配置塊并加入通道。

# 發(fā)送交易獲取配置塊
peer channel create -o orderer0.orderer.com:7050 -c mychannel -f ./channel-artifacts/channel.tx --tls --cafile /opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/ordererOrganizations/orderer.com/orderers/orderer0.orderer.com/msp/tlscacerts/tlsca.orderer.com-cert.pem
# 加入通道
peer channel join -b mychannel.block

org1的peer發(fā)送mychannel.tx后,可以在org2的cli上通過fetch命令獲取mychannel.block并執(zhí)行加入通道的命令。

peer channel fetch 0 mychannel.block -c mychannel --orderer orderer1.orderer.com:7050
--tls --cafile /opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/ordererOrganizations/orderer.com/orderers/orderer1.orderer.com/msp/tlscacerts/tlsca.orderer.com-cert.pem

2.更新錨節(jié)點配置

使用之前生成的錨節(jié)點配置進行錨節(jié)點配置更新。

# org1 cli執(zhí)行
peer channel update -o orderer0.orderer.com:7050 -c mychannel -f ./channel-artifacts/Org1anchors.tx --tls --cafile /opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/ordererOrganizations/orderer.com/orderers/orderer0.orderer.com/msp/tlscacerts/tlsca.orderer.com-cert.pem

# org2 cli執(zhí)行
peer channel update -o orderer1.orderer.com:7050 -c mychannel -f ./channel-artifacts/Org2anchors.tx --tls --cafile /opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/ordererOrganizations/orderer.com/orderers/orderer1.orderer.com/msp/tlscacerts/tlsca.orderer.com-cert.pem

執(zhí)行完成后觀察peer日志可以看到相關(guān)信息。

3.安裝與實例化鏈碼

在org1 peer上安裝和實例化鏈碼到mychannel上,org2 peer上安裝就可以進行調(diào)用了。(使用官方提供的簡易版轉(zhuǎn)賬鏈碼)

# 安裝
peer chaincode install -n mycc -v 1.0 -p github.com/chaincode/chaincode_example02/go/
# 實例化
peer chaincode instantiate -o orderer0.orderer.com:7050 --tls --cafile /opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/ordererOrganizations/orderer.com/orderers/orderer0.orderer.com/msp/tlscacerts/tlsca.orderer.com-cert.pem -C mychannel -n mycc -v 1.0 -c '{"Args":["init","a", "10000", "b","20000"]}' -P "OR('Org1.peer','Org2.peer')" 
# 這里指定了 -P 背書策略為OR 如果使用AND 則org2 peer必須安裝鏈碼并且在發(fā)送請求時必須帶上org2的peer

4.鏈碼調(diào)用

# org1 cli驗證
peer chaincode query -C mychannel -n mycc -c '{"Args":["query","a"]}'

peer chaincode query -C mychannel -n mycc -c '{"Args":["query","b"]}'

peer chaincode invoke -o orderer0.orderer.com:7050 --tls true --cafile /opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/ordererOrganizations/orderer.com/orderers/orderer0.orderer.com/msp/tlscacerts/tlsca.orderer.com-cert.pem -C mychannel -n mycc --peerAddresses peer0.org1.com:7051 --tlsRootCertFiles /opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/org1.com/peers/peer0.org1.com/tls/ca.crt -c '{"Args":["invoke","a","b","10"]}'

# org2 cli驗證
peer chaincode query -C mychannel -n mycc -c '{"Args":["query","a"]}'

peer chaincode query -C mychannel -n mycc -c '{"Args":["query","b"]}'

peer chaincode invoke -o orderer1.orderer.com:7050 --tls true --cafile /opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/ordererOrganizations/orderer.com/orderers/orderer1.orderer.com/msp/tlscacerts/tlsca.orderer.com-cert.pem -C mychannel -n mycc --peerAddresses peer0.org2.com:7051 --tlsRootCertFiles /opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/org2.com/peers/peer0.org2.com/tls/ca.crt -c '{"Args":["invoke","a","b","10"]}'

網(wǎng)絡(luò)的基礎(chǔ)搭建到這里就結(jié)束了,接下來會記錄如何向通道中添加機構(gòu)以及如何使用fabric-ca,敬請期待。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容