前言:这两天在学习搭建go和fabric环境,搭建环境的过程中倒没有遇到特别难以解决的问题,但是在运行e2e案例的时候遇到的问题耽误了不少时间解决,在此特别记录一下。
- 在显示出start e2e的标识后出现Error001错误:
在网上寻找了很多解决方法,例如docker与fabric的版本不一致,或是go的路径配置与fabric源码下载路径不一致等等,多方尝试后我的这个Error001还是负隅顽抗。
最后经高人指点可能是docker镜像的问题,建议我删掉所有docker镜像重新下载,我照做之后就不再有这个错了。
后来我回想当时下载docker镜像时的路径应该是在opt/gopath下的,而我的go和fabric的路径都是home/go下的。第二次我就将路径换到了home/go下,就正确了,不清楚是否是路径的原因还是我第一次自己手动加了几个缺少的镜像的原因。
下面附上修改步骤的代码:
docker stop $(docker ps -q)
docker rm $(docker ps -aq)
docker rmi $(docker images -q)
docker rmi $(docker images -q) -f
上面这是删除了所有容器和镜像
cd ~/go/src/github.com/hyperledger/fabric/examples/e2e_cli
source download-dockerimages.sh -c x86_64-1.1.0 -f x86_64-1.1.0
docker images
重新下载了docker镜像,我下载的是1.1.0版本,要根据自己的下对应的版本。最后查看下镜像是否下好。
git checkout v1.1.0
./network_setup.sh up
然后再重新执行脚本就可以了。
- 报错Error endorsing chaincode
这个问题较好解决,只需将/e2e_cli/base目录下的peer-base.yaml,将网络名改成如下名称即可,:
CORE_VM_DOCKER_HOSTCONFIG_NETWORKMODE=e2e_cli_default(我这里就是将e2ecli改成了e2e_cli)
也可以通过命令修改。
cd $GOPATH/src/github.com/hyperledger/fabric/examples/e2e_cli/
vim ./base/peer-base.yaml
改好就OK了。
但是我自己改了之后重新执行e2e也还是不行,会报同样的错,最后我又把镜像删掉重下了一遍就可以了。哎,这磨人的小妖精~