Fabric 2.x 安装链码流程
程序员文章站
2022-05-13 19:55:29
...
以在mychannel中安装fabcar为例:
# 1. 打包链码
peer lifecycle chaincode package fabcar.tar.gz --path ../chaincode/fabcar/go/ --lang golang --label fabcar_1
# 2.1 组织Org1:安装链码
peer lifecycle chaincode install fabcar.tar.gz
# 2.2 组织Org2:安装链码
peer lifecycle chaincode install fabcar.tar.gz
# 2.3 组织Org1:检查链码是否安装完成,并获取链码的PackageID
peer lifecycle chaincode queryinstalled
# 2.4 组织Org2:检查链码是否安装完成,并获取链码的PackageID
peer lifecycle chaincode queryinstalled
# 3.1 组织Org1:同意链码的定义
peer lifecycle chaincode approveformyorg -o localhost:7050 --ordererTLSHostnameOverride orderer.example.com --tls $CORE_PEER_TLS_ENABLED --cafile $ORDERER_CA --channelID mychannel --name fabcar --version 1 --init-required --package-id fabcar_1:88123f604c19b10b64aae3d9c7babf8099cf8aeb1cc6cc5771f47a27205584d1 --sequence 1
# 3.2 组织Org2:同意链码的定义
peer lifecycle chaincode approveformyorg -o localhost:7050 --ordererTLSHostnameOverride orderer.example.com --tls $CORE_PEER_TLS_ENABLED --cafile $ORDERER_CA --channelID mychannel --name fabcar --version 1 --init-required --package-id fabcar_1:88123f604c19b10b64aae3d9c7babf8099cf8aeb1cc6cc5771f47a27205584d1 --sequence 1
# 4.1 组织Org1+组织Org2:提交链码的定义
peer lifecycle chaincode commit -o localhost:7050 --ordererTLSHostnameOverride orderer.example.com --channelID mychannel --name fabcar --version 1 --sequence 1 --tls $CORE_PEER_TLS_ENABLED --cafile $ORDERER_CA --peerAddresses localhost:7051 --tlsRootCertFiles ${PWD}/organizations/peerOrganizations/org1.example.com/peers/peer0.org1.example.com/tls/ca.crt --peerAddresses localhost:9051 --tlsRootCertFiles ${PWD}/organizations/peerOrganizations/org2.example.com/peers/peer0.org2.example.com/tls/ca.crt --init-required
# 4.2 检查提交情况
peer lifecycle chaincode querycommitted --channelID mychannel --name fabcar --cafile $ORDERER_CA
可以看到,总共需要4大步:
- 打包链码
- 各组织安装链码
- 多数组织统一链码的定义
- 各组织提交链码的定义