文章来自https://learnblockchain.cn/article/722
下面是演示步骤:
无链码方式启动 First Network
打包 SACC 链码
在指定 peer 节点上安装 SACC 链码包
机构审批链码
在 mychannel 通道上提交链码
调用 SACC 链码的 Init 方法
调用 SACC 链码的 set 方法并从另一个 peer 节点查询结果
cd go/src/github.com/hyperledger/fabric/scripts/fabric-samples/first-network
./byfn.sh up -n
STEP 2:打包 SACC 链码
首先我们处理依赖问题(如果之前没有处理的话):
cd fabric-sample/chaincode/sacc
GO111MODULE=on go mod vendor
cd fabric-sample/first-network
返回到原来目录first-network再执行
docker exec cli peer lifecycle chaincode package sacc.tar.gz --path github.com/hyperledger/fabric-samples/chaincode/sacc/ --label sacc_1
利用
docker exec cli ls
在 CLI 容器内可以看到生成了新的文件 sacc.tar.gz
STEP 3:在指定 peer 节点上安装 SACC 链码包
现在我们在 peer0.org1 和 peer0.org2 上安装 SACC 链码包,因为在这个演示中我们只需要使用这两个节点进行链码调用和查询。
# peer0.org1
docker exec cli peer lifecycle chaincode queryinstalled
# peer0.org2
docker exec -e CORE_PEER_MSPCONFIGPATH=/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/org2.example.com/users/Admin@org2.example.com/msp -e CORE_PEER_ADDRESS=peer0.org2.example.com:9051 -e CORE_PEER_LOCALMSPID="Org2MSP" -e CORE_PEER_TLS_ROOTCERT_FILE=/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/org2.example.com/peers/peer0.org2.example.com/tls/ca.crt cli peer lifecycle chaincode queryinstalled
我们会收到链码包的标识符,在下面的链码审批阶段会用到。我们 收到的链码标识符为:bf57e4926742fd0dbd8716058897cbb60d3530914529a4b9b46817d2324f6399
我们可以使用 peer lifecycle chaincode queryinstalled 命令随时检查节点上的链码安装情况,如果我们需要找出链码包的标识 ID,这个命令会很有用。
# peer0.org1
docker exec cli peer lifecycle chaincode queryinstalled
# peer0.org2
docker exec -e CORE_PEER_MSPCONFIGPATH=/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/org2.example.com/users