HyperLedger Fabric - 超级账本(3)测试链码

测试链码

确定进入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

练习

将github.com/chaincode/sacc/的链码安装并实例化,

​ 查询a账户的余额

​ 使用set方法设置a账户的余额

​ 使用get方法获取a账户的余额

实例化时只需要两个参数, 不需要指定操作名称

​ 两个参数: 账户名, 金额

set

​ 账户名, 金额

get

​ 账户名, 金额

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

李柏林

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值