从零到壹学习超级账本理论加实战第五讲:测试链码

黎跃春

孔壹学院、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

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20180827G1T5S400?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 yunjia_community@tencent.com 删除。

扫码关注云+社区

领取腾讯云代金券