开发语言:进行智能合约开发是使用go语言进行开发测试。
功能设计:数据录入、数据查询、数据交易。
开发平台:windows10系统
测试平台:自建服务器Ubuntu16.04 LTS Server或者虚拟机Ubuntu16.04 DESKTOP
生产环境:阿里云BAAS服务
步骤:以下类似于链码API那节执行,再此环境对链码进行测试,可以不用搭建
退出当前目录:cd
安装代码示例:git clone https://github.com/hyperledger/fabric-samples.git
进入代码示例:cd fabric-samples
进入链码容器开发环境:cd chaincode-docker-devmode/
新建链码文件夹:mkdir chaincode
复制容器启动文件:cp docker-compose-simple.yaml docker-compose.yaml
替换容器启动文件链码文件夹路径:sed -i "s|./../chaincode|./chaincode|g" docker-compose.yaml
清除所有容器:docker rm -f $(docker ps -q -a)
复制链码到链码文件夹:cp /home/test02/go/src/github.com/hyperledger/fabric/scrip
ts/fabric-samples/chaincode/chaincode_example02/go/chaincode_example02.go ~/fabric-samples/chaincode-docker-devmode/chaincode
查看示例链码:cat chaincode/chaincode_example02.go
构建链码容器: docker-compose up -d
编译智能合约准备:go get -u --tags nopkcs11 github.com/hyperledger/fabric/core/chaincode/shim
go build --tags nopkcs11(可能要进入chaincode执行)
启动链码容器:docker exec -it chaincode bash
查看当前容器文件:ls
编译go程序文件:go build chaincode_example02.go
执行链码程序:CORE_PEER_ADDRESS=peer:7052 CORE_CHAINCODE_ID_NAME=mycc:2.0 ./chaincode_example02 //mycc为链码名称,2.0为版本号,./为链码路径
新打开一个terminal,打开cli环境:docker exec -it cli bash
Cli容器安装链码:peer chaincode install -p chaincodedev/chaincode -n mycc -v 2.0
实例化并初始化链码:peer chaincode instantiate -C myc -n mycc -v 2.0 -c '{"Args":["init","a","100","b","200"]}'
执行调用转账函数:peer chaincode invoke -C myc -n mycc -c '{"Args":["invoke","a","b","50"]}'
执行调用查询函数:peer chaincode invoke -C myc -n mycc -c '{"Args":["query","a"]}'
退出:exit
希望大家关注我的微信公众号,有疑问可以后台留言。