首先我们要进入cli容器内部,在里面创建Channel。

先用以下命令进入CLI内部Bash:

docker exec -it cli bash

Hyperledger Fabric教程(10)-- peer命令-链码chaincode_fabric


1. 当前peer一共安装了哪些链码

peer chaincode list

已经安装的

Hyperledger Fabric教程(10)-- peer命令-链码chaincode_perl_02

已经实例化的,得加通道名

Hyperledger Fabric教程(10)-- peer命令-链码chaincode_fabric_03




2. 把链码打包

peer chaincode package -n mycc -p ./example02 -v 0 -s -S -i "AND('OrgA.admin')" ccpack.out


3. 把链码上传到peer

peer chaincode install -n mycc -v 0 -p path/to/my/chaincode/v0


4. 链码实例化

peer chaincode instantiate -n mycc -v 0 -c '{"Args":["a", "b", "c"]}' -C mychannel -p

需要指定背书策略


5. 对链码升级

peer chaincode upgrade -n mycc -v 1 -c '{"Args":["d", "e", "f"]}' -C mychannel


6. 对链码执行查询

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

最近节点响应,不需要其他节点背书

Hyperledger Fabric教程(10)-- peer命令-链码chaincode_fabric_04



7. 调用链码

如果没有设置CA的环境变量,则先设置

ORDERER_CA=/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/ordererOrganizations/example.com/orderers/orderer.example.com/msp/tlscacerts/tlsca.example.com-cert.pem

Hyperledger Fabric教程(10)-- peer命令-链码chaincode_bash_05

peer chaincode invoke -o orderer.example.com:7050 --tls --cafile $ORDERER_CA -C mychannel -n mycc -c '{"Args":["invoke","a","b","10"]}'

需要其他节点背书

Hyperledger Fabric教程(10)-- peer命令-链码chaincode_bash_06




8. 对链码打包进行签名

peer chaincode signpackage