Fabric的链码安装与实例化

确定进入CLI容器中

$ sudo docker exec -it cli bash

Peer加入应用通道后, 可以执行链码相关操作,进行测试

链码在调用之前, 必须先经过安装和实例化两个步骤, 部署到Peer节点上.同一个通道中每个节点都需要安装链码,但是实例化只需要一次。

检查环境变量是否正确设置

echo $CHANNEL_NAME

设置环境变量

export CHANNEL_NAME=mychannel

安装并实例化Chaincode

安装:

peer chaincode install -n mycc -v 1.0 -p github.com/chaincode/chaincode_example02/go/

参数说明:

-n: 指定要安装的链码的名称

-v: 指定要安装的链码的版本号

-p: 指定要安装的链码的链码文件所在路径

实例化:

peer chaincode instantiate -o orderer.example.com:7050 --tls --cafile /opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/ordererOrganizations/example.com/orderers/orderer.example.com/msp/tlscacerts/tlsca.example.com-cert.pem -C $CHANNEL_NAME -n mycc -v 1.0 -c '{"Args":["init","a", "100", "b","200"]}' -P "OR ('Org1MSP.peer','Org2MSP.peer')"

参数说明:

-o: 指定Orderer服务地址

-n: 指定链码的名称

-v: 指定链码的版本号

-c: 指定实例化链码时的初始参数

-C: 指定链码的所属通道

-P:指定背书策略

–tls: 是否开启TLS

–cafile: 指定MSP CA证书路径

实例化完成后, 用户即可向网络中发起交易

调用链码:

  1. query
  2. invoke

查询

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

参数说明:

-C: 指定所属通道

-n: 指定链码名称

-c: 调用链码的传递的参数

输出结果:Query Result: 100

调用/转账

peer chaincode invoke -o orderer.example.com:7050  --tls --cafile /opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/ordererOrganizations/example.com/orderers/orderer.example.com/msp/tlscacerts/tlsca.example.com-cert.pem  -C $CHANNEL_NAME -n mycc -c '{"Args":["invoke","a","b","10"]}'

查询a账户的金额

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

输出结果: Query Result: 90

显示链码与Fabric镜像

  $sudo docker ps
 

删除链码镜像

$sudo docker rmi -f 8fds9fdsf 

打赏一个呗

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码支持
扫码打赏,你说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦