Fabric 支持开发者调试模式,这样极大方便我们开发和调试链码。
启动开发调试环境
在此之前我们部署Fabric或部署链码都是在一个gitbash环境下进行,而开发环境需要同时开启三个gitbash界面,充当三个终端。
1号终端 -启动网络
进入fabric-samples里的chaincode-docker-devmode目录
`
cd $GOPATH/src/github.com/hyperledger/fabric-samples/chaincode-docker-devmode
1号作为网络终端使用,执行下面命令启动开发环境所需的网络
docker-compose -f docker-compose-simple.yaml up
网络启动后并不是在后台模式执行的,因此不能关闭界面或者ctrl+ct停止,否则后面两个终端也无法启动。
2号终端 - 进入链码的docker
同样先进入fabric-samples里的chaincode-docker-devmode目录
cd $GOPATH/src/github.com/hyperledger/fabric-samples/chaincode-docker-devmode
然后进入链码的docker中
docker exec -it chaincode sh
由于我的是win10的操作系统,会报这个错误:the input device is not a TTY. If you are using mintty, try prefixing the command with 'winpty'
如果你也报这个错误,那上面的命令需要修改为(下同)
winpty docker exec -it chaincode sh
我们稍后再在这个界面编译链码
3号终端 - 进入peer节点
同样先进入fabric-samples里的chaincode-docker-devmode目录
cd $GOPATH/src/github.com/hyperledger/fabric-samples/chaincode-docker-devmode
然后进入在peer节点中
winpty docker exec -it cli bash
如何启动报错,可能是cli容器启动失败了,需要先停掉和删除已有的容器
docker stop $(docker ps -aq)
docker rm $(docker ps -aq)
然后再按上面步骤再启动一号终端,二号终端
本文由小韦云原创,转载请注明出处:https://www.bctos.cn/doc/10/1847,否则追究其法律责任