title: Hyperledger Fabric 链码的开发
tags: Hyperledger, fabric ,区块链,chaincode
前面介绍过Hyperledger Fabric环境搭建和网络部署,现在我们开始链码开发。
Fabric的fabric-sample
项目中提供了一个chaincode的开发环境,使chaincode在开发阶段可以进行快速开发、构建、运行、调试。
1. 编写chaincode代码
首先我们应该编写自己的智能合约,然后在fabric-samples/chaincode
下新建文件夹,并把代码存放在改文件夹下面。
在chaincode目录下给我自带了几个项目,我们选择sacc
这个项目。
2.启动网络
打开一个终端
首先进入chaincode-docker-devmode
目录
cd fabric-samples/chaincode-docker-devmode
然后启动网络
docker-compose -f docker-compose-simple.yaml up
3.启动chaincode
打开第二个终端
进入chaincode容器执行
docker exec -it chaincode bash
如果成功进入应该显示/opt/gopath/src/chaincode#
然后进入sacc
cd sacc
接着编译项目
go build
最后我们启动节点
CORE_PEER_ADDRESS=peer:7051 CORE_CHAINCODE_ID_NAME=mycc:0 ./sacc
4.操作链码
打开第三个终端
启动cli
docker exec -it cli /bin/bash
当然也可以使用,但是我不建议这么做,我之前使用这个命令一直报错。
docker exec -it cli bash
下面安装链码
peer chaincode install -p chaincodedev/chaincode/sacc -n mycc -v 0
注意:-n是安装的名字,-v是version,-l是使用语言
如:peer chaincode install -n hello -v 1.0.0 -l golang -p
实例化链码
peer chaincode instantiate -n mycc -v 0 -c '{"Args":["str","helloworld"]}' -C myc
5.查询链码
peer chaincode query -n mycc -c '{"Args":["get","str"]}' -C myc
运行结果应该是
Query Result: helloworld
6. 退出
使用ctrl+c 结束第一个终端,然后输入
docker-compose -f docker-compose-simple.yaml down