Fabric 2.x 安装链码流程

以在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大步:

  1. 打包链码
  2. 各组织安装链码
  3. 多数组织同意链码的定义
  4. 各组织提交链码的定义

即:

你可能感兴趣的:(区块链)