当前位置: 代码迷 >> 综合 >> hyperledger fabric 智能合约开发(一)------智能合约测试环境
  详细解决方案

hyperledger fabric 智能合约开发(一)------智能合约测试环境

热度:69   发布时间:2023-12-10 18:11:05.0

智能合约测试环境

开发语言:进行智能合约开发是使用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

希望大家关注我的微信公众号,有疑问可以后台留言。

  相关解决方案