我对hyperledger fabric1.1.0的执着(三):运行e2e_cli测试案例以及踩过的坑

时间:2018-11-13作者:klpeng分类:IT综合浏览:2308评论:0

1、运行e2e_cli案例:

(1.1)下载平台特定二进制文件,如图下载对应版本,下载地址为:

https://nexus.hyperledger.org/content/repositories/releases/org/hyperledger/fabric/hyperledger-fabric/linux-amd64-1.1.0/

我对hyperledger fabric1.1.0的执着(三):运行e2e_cli测试案例以及踩过的坑

(1.2)将文件上传到/opt/gopath/src/github.com/hyperledger/fabric目录,并解压,会得到一个bin和config目录,最终目录结构如图:

我对hyperledger fabric1.1.0的执着(三):运行e2e_cli测试案例以及踩过的坑

(1.3)删除/opt/gopath/src/github.com/hyperledger/fabric/examples/目录下的e2e_cli文件夹,下载fabric源码找到/fabric/examples/目录下的e2e_cli并上传。(相当于用fabric1.0版本的e2e_cli案例代替这里1.1版本的案例)

(1.4)进入e2e_cli目录并启动:

cd /opt/gopath/src/github.com/hyperledger/fabric/examples/e2e_cli

bash network_setup.sh up

--------------------------------------------------------------------------------------------------------------------------------------

启动过成功可能会遇到各种奇葩又看不懂的错误,以下仅记录个人踩过的坑(英文的错误是跑阿里云服务器遇到的,中文的错误是跑本地笔记本遇到的,作为补充):

2、运行e2e_cli过程中遇到的错误:

错误一:./scripts/script.sh:Permission denied

卡在以下界面不动,提示./scripts/script.sh:Permission denied

我对hyperledger fabric1.1.0的执着(三):运行e2e_cli测试案例以及踩过的坑

解决:

ctrl+z退出,执行命令:bash network_setup.sh down

然后授权:sudo chmod +x scripts/script.sh

查看:ll scripts/script.sh ,如下图:

我对hyperledger fabric1.1.0的执着(三):运行e2e_cli测试案例以及踩过的坑

然后重新启动:bash network_setup.sh up

错误二:generateArtifacts.sh:行58: /opt/gopath/src/github.com/hyperledger/fabric/examples/e2e_cli/../../release/linux-amd64/bin/cryptogen: 没有那个文件或目录。如图:我对hyperledger fabric1.1.0的执着(三):运行e2e_cli测试案例以及踩过的坑

原因是cryptogen文件不在/opt/gopath/src/github.com/hyperledger/fabric/examples/e2e_cli/../../release/linux-amd64/bin/文件夹。

解决:将平台下载的二进制文件上传至该目录并解压,最终目录如图:

我对hyperledger fabric1.1.0的执着(三):运行e2e_cli测试案例以及踩过的坑

错误三:generateArtifacts.sh:行58: /opt/gopath/src/github.com/hyperledger/fabric/examples/e2e_cli/../../release/linux-amd64/bin/cryptogen: 权限不够,如图:

我对hyperledger fabric1.1.0的执着(三):运行e2e_cli测试案例以及踩过的坑

原因:二进制文件权限不足

解决:给二进制文件进行赋权操作

sudo chmod +x /opt/gopath/src/github.com/hyperledger/fabric/release/linux-amd64/bin/cryptogen

sudo chmod +x /opt/gopath/src/github.com/hyperledger/fabric/release/linux-amd64/bin/configtxgen

查看是否授权成功:

ll /opt/gopath/src/github.com/hyperledger/fabric/release/linux-amd64/bin/cryptogen

ll /opt/gopath/src/github.com/hyperledger/fabric/release/linux-amd64/bin/configtxgen

重启。

 

错误四、fatal error: unexpected signal during runtime execution ,如图:

我对hyperledger fabric1.1.0的执着(三):运行e2e_cli测试案例以及踩过的坑

解决:

修改/etc/resolv.conf文件:vim /etc/resolv.conf

我对hyperledger fabric1.1.0的执着(三):运行e2e_cli测试案例以及踩过的坑

将第一行options timeout:2 attempts:3 rotate single-request-reopen注释掉。

然后重启:

bash network_setup.sh down

bash network_setup.sh up

错误五:Error: Error endorsing chaincode: rpc error: code = Unknown desc = error starting container: API error (404): {"message":"network e2ecli_default not found"}

我对hyperledger fabric1.1.0的执着(三):运行e2e_cli测试案例以及踩过的坑

解决方法:

修改/opt/gopath/src/github.com/hyperledger/fabric/examples/e2e_cli/base目录下的peer-base.yaml,将网络名改成如下名称即可,如图:
- CORE_VM_DOCKER_HOSTCONFIG_NETWORKMODE=e2e_cli_default

我对hyperledger fabric1.1.0的执着(三):运行e2e_cli测试案例以及踩过的坑

关闭并重启。

最终如图,表示启动成功:

我对hyperledger fabric1.1.0的执着(三):运行e2e_cli测试案例以及踩过的坑

 

打赏
文章版权声明:除非注明,否则均为彭超的博客原创文章,转载或复制请以超链接形式并注明出处。
相关推荐

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

猜你喜欢