黎跃春
孔壹学院、ChainDesk创始人兼CEO
如果您有任何关于区块链的问题,可以加入区块链技术交流QQ群729666975(进群无需添加验证信息,直接点击下一步,等待管理员通过即可),我们会为您一一解答。
从零到壹学习超级账本理论加实战为一个系列,一共23讲,包括超级账本简介、搭建环境、启动网络、测试链码、区块链应用开发等。今天我们将为大家介绍从零到壹学习超级账本理论加实战第五讲:测试链码。话不多说,马上开启我们的超级账本理论加实战学习之旅。
课程学习,添加莉莉微信(kongyixueyuan)获取。
孔壹学院
fresh
flower
测试链码
测试链码
确定进入CLI容器中
$ sudo docker exec -it cli bashPeer
加入应用通道后, 可以执行链码相关操作,进行测试
链码在调用之前, 必须先经过安装和实例化两个步骤, 部署到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: 指定要安装的链码的所在路径
实例化:
参数说明:
-o: 指定Oderer节点地址
--tls: 开启TLS验证
--cafile: 指定TLS_CA证书路径
-n: 指定要实例化的链码名称
-v:指定要实例化的链码的版本号
-C: 指定通道名称
-c: 实例化链码时指定的参数
-P: 指定背书策略
查询
peer chaincode query -C $CHANNEL_NAME -n mycc -c '{"Args":["query","a"]}'
输出结果:Query Result: 100
参数说明:
-n: 指定要调用的链码名称
-C: 指定通道名称
-c: 指定调用链码时所需要的参数
func query(account string){
}
账本保存数据以 key-value方式保存
调用/转账
参数说明:
-o: 指定orderer节点地址
--tls: 开启TLS验证
--cafile: 指定TLS_CA证书路径
-n: 指定链码名称
-C: 指定通道名称
-c: 指定调用链码的所需参数
func invoke(accoutF string, accountT stirng, amount string)
查询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账户的余额
'{"Args":["init", "a", "100", "b", "200"]}'
注: 实例化时只需要两个参数, 不需要指定操作名称
两个参数: 账户名, 金额
set
账户名, 金额
get
账户名
系列阅读
yuedu
领取专属 10元无门槛券
私享最新 技术干货