搭建第一个fabric网络(版本1.4.2)——(六)通道与链码

通道与链码操作

以下操作均于centos7.6虚拟机环境使用root用户完成,可以根据具体需求进行选择实体机与不同用户选择

该教程(搭建第一个fabric网络1.4.2版本)基本完全基于官方文档进行,适用于缺乏了解的新手与感兴趣的人群


官方文档地址:


1.创建并加入应用通道

使用之前生成的通道配置交易生成应用通道配置块并加入通道。

# 发送交易获取配置块
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发送mychannel.tx后,可以在org2的cli上通过fetch命令获取mychannel.block并执行加入通道的命令。

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.更新锚节点配置

使用之前生成的锚节点配置进行锚节点配置更新。

# org1 cli执行
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执行
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

执行完成后观察peer日志可以看到相关信息。

3.安装与实例化链码

在org1 peer上安装和实例化链码到mychannel上,org2 peer上安装就可以进行调用了。(使用官方提供的简易版转账链码)

# 安装
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必须安装链码并且在发送请求时必须带上org2的peer

4.链码调用

# 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"]}'

网络的基础搭建到这里就结束了,接下来会记录如何向通道中添加机构以及如何使用fabric-ca,敬请期待。

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容