声明
本文默认fabric环境已经搭建好,如果没有搭建好请点击:fabric官网文档
获取官方sample
git clone -b master https://github.com/hyperledger/fabric-samples.git
运行步骤(需要三个终端)
终端1:
cd fabric-sample/chaincode-docker-devmode
docker-compose -f docker-compose-simple.yaml up -d
//如果提示运行错误
//可能之前在first-work中创建network和这次创建的冲突
//解决方法:cd fabric-sample/first-network
// ./byfn.sh -m down
终端2:
docker exec -it chaincode bash
cd sacc
go build
CORE_PEER_ADDRESS=peer:7052 CORE_CHAINCODE_ID_NAME=mycc:0 ./sacc
终端3:
我们将利用CLI容器来驱动这些调用。
docker exec -it cli bash
peer chaincode install -p chaincodedev/chaincode/sacc -n mycc -v 0
peer chaincode instantiate -n mycc -v 0 -c '{"Args":["a","10"]}' -C myc
//改变a的值为20
peer chaincode invoke -n mycc -c '{"Args":["set", "a", "20"]}' -C myc
//如果是json对象处理方式如下:
//peer chaincode invoke -n mycc -c '{"Args":["set", "{\"a\":\"test\",\"b\":\"test\"}"]}' -C myc
//查询改变是否成功
peer chaincode query -n mycc -c '{"Args":["query","a"]}' -C myc
备注
默认情况下,sample中为sacc。但是,您可以通过将它们添加到chaincode子目录并重新启动您的网络来轻松测试不同的chaincodes。在这一点上,它们将在您的chaincode容器中访问。
本次为官方最新IO文档的运行,编译时间为2018-01-16,如果有后续未能及时更新,请见Chaincode for Developers