Fabric学习笔记一:链码实践(hello)

一. 编写代码

参考 https://blog.csdn.net/qq_40185499/article/details/103900268

二. 部署和测试

参考 https://blog.csdn.net/yang731227/article/details/84584924

1. 启动网络

即启动区块链。
打开文件,进入 /go/src/github.com/hyperledger/fabric-samples/chaincode-docker-devmode目录中,右键打开一个终端A,执行下面代码:

 ---删除所有活跃的容器---
 docker rm -f $(docker ps -aq)
 ---清理网络缓存---
 docker network prune
 ---启动网络---
 docker-compose -f docker-compose-simple.yaml up

2. 启动链码

即部署和编译智能合约。
(1). 打开一个新的终端B,进入 chaincode 容器

 docker exec -it chaincode /bin/sh

(2). 编译链码

 cd hello
 go build

报错1:在这里插入图片描述
解决方案:

 go env -w GO111MODULE=on
 go env -w GOPROXY=https://goproxy.io,direct

报错2:在这里插入图片描述
解决方案:以root身份重新进入容器,再次编译

 docker exec -it -u root chaincode sh

(3). 启动链码

 CORE_CHAINCODE_ID_NAME=mycc:0 CORE_PEER_TLS_ENABLED=false ./hello -peer.address peer:7052

3. 测试链码

即进行实例化和调用。
(1). 打开一个新的终端C,进入 cli 容器

 docker exec -it cli bash

(2). 安装链码

  --- -n是安装的名字,-v是version---
 peer chaincode install -p chaincode/hello -n mycc -v 0

(3). 实例化

 peer chaincode instantiate -n mycc -v 0 -c '{"Args":["init", "hello","world"]}' -C myc

(4). 调用链码

 peer chaincode query -n mycc  -c '{"Args":["query","hello"]}' -C myc

4. 退出

一定要down再关虚拟机,不然虚拟机可能会打不开。

 docker-compose -f docker-compose-simple.yaml down

三. 总结

之前看了很多博客,但是不上手实践是真的不知道会出现哪些奇奇怪怪的问题。参考了多个博主的文章,自己再动手实践了下,为了防止自己下次在出现问题到处找解决方案,而且刚入门,链码的代码部分都是参考别人的,暂时了解fabric是怎么使用的,就记录下了这篇文章。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值