Mas_Tan

Site blog for Tan

No Praise For Colorful


Welcome To My Blog

Hyperledger Composer 0.18.1 Timeout Error

0.16.x 更新到 0.18.1 以后

问题

composer network start ... 这步就卡住了,改过connection配置文件,清过缓存,突然成功让人高兴一下,stop 后删除镜像再跑又不行了。 感觉就像摸奖,跑十次可以成功一次😅。由于是next版本,网上也没有解决方案,只能自己踩坑了。

composer network start ... 命令,会为每个peer启动一个容器。它的镜像是 hyperledger/fabric-ccenv, tag 是x86_64-1.1.0-rc1。 container 名称好像是随便去的,这个容器在成功启动 chaincode 容器一段时间后会自己退出。如下,由于有两个peer,这里会启动两个fabric-ccenv 容器,分别是objective_franklin compassionate_bell .下面以compassionate_bell 举例。

$ docker ps
CONTAINER ID        IMAGE                                         COMMAND                  CREATED             STATUS              PORTS                                            NAMES
b6f65e8c905a        hyperledger/fabric-ccenv:x86_64-1.1.0-rc1     "/bin/sh -c 'cp -R /…"   10 seconds ago      Up 1 second                                                          objective_franklin
eaffbbb7aef7        hyperledger/fabric-ccenv:x86_64-1.1.0-rc1     "/bin/sh -c 'cp -R /…"   10 seconds ago      Up 1 second                                                          compassionate_bell
38cc14dab6ef        hyperledger/fabric-tools:x86_64-1.1.0-rc1     "/bin/bash -c './scr…"   51 seconds ago      Up 41 seconds                                                        cli
69b30c1cdb02        hyperledger/fabric-ca:x86_64-1.1.0-rc1        "sh -c 'fabric-ca-se…"   53 seconds ago      Up 43 seconds       0.0.0.0:7054->7054/tcp                           ca_peerOrg1
2f99be174cdc        hyperledger/fabric-peer:x86_64-1.1.0-rc1      "peer node start"        53 seconds ago      Up 42 seconds       0.0.0.0:8051->7051/tcp, 0.0.0.0:8053->7053/tcp   peer1.org1.example.com
c3431f79d07c        hyperledger/fabric-orderer:x86_64-1.1.0-rc1   "orderer"                53 seconds ago      Up 42 seconds       0.0.0.0:7050->7050/tcp                           orderer.example.com
7f7c5a5c1a05        hyperledger/fabric-peer:x86_64-1.1.0-rc1      "peer node start"        53 seconds ago      Up 43 seconds       0.0.0.0:7051->7051/tcp, 0.0.0.0:7053->7053/tcp   peer0.org1.example.com

在漫长的等待后,得到一个Timeout error .

Error: Error trying to instantiate composer runtime. Error: No valid responses from any peers.
Response from attempted peer comms was an error: Error: REQUEST_TIMEOUT

timeout 值是你在connection.json 里设置的, 默认 45s .

给官方提issue , 官方的回复 you can switch to another internet access point. to create the chaincode image, 0.18.1 will pull the npm modules from remote repository. i have succeeded running composer network start 好吧,换个网,可能是在中国的原因,所以这招对我来说没什么用。 至少知道了可能是什么问题导致的。

fabric-ccenv 构建的容器中,会使用npm命令拉取远程仓库,可能是这步卡住了,直接导致了timeout。 执行 docker logs -f compassionate_bell 可以看到,确实卡在了npm 命令上. 所以就想到了解决办法 – 更换 npm 源, 但是源是在docker容器中的…

hyperledger/fabric-ccenv:x86_64-1.1.0-rc1 容器的启动是通过composer network start 命令,所以我不能自己搞个镜像例如hyperledger/fabric-ccenv:other然后让composer启动。 唯一可行的就是修改hyperledger/fabric-ccenv:x86_64-1.1.0-rc1 镜像,再用同样的名字覆盖它。

首先进入容器

docker exec -it compassionate_bell /bin/bash 

更换npm

网上一搜一堆,例如

npm config set registry https://registry.npm.taobao.org

换好了再npm config list 看一下

然后退出容器exit

重新提交镜像

docker commit -a "your name" -m "change npm source" compassionate_bell hyperledger/fabric-ccenv:x86_64-1.1.0-rc1 

注意最后一个参数一定要和你之前的相同,因为composer 只为启动指定image构建的容器。

然后 docker images 会发现镜像hyperledger/fabric-ccenv:x86_64-1.1.0-rc1CREATED 是几秒之前

重新启动

docker rm -f compassionate_bell(替换成你自己的)
composer network start ...

记得把connection.json 里的 Timeout 设置长一点,一般 300 + 吧。 OK,大功告成.希望帮助到大家。

最近的文章

Ubuntu 运行 Hyperledger Fabric 网络失败 -- 阿里云服务器

环境: System Version: Ubuntu Linux 14.04 / 16.04 LTS Hyperledger Composer version: 0.19.1步骤:mkdir ~/fabric-dev-servers && cd ~/fabric-dev-serverscurl -O https://raw.githubusercontent.com/hyperledger/composer-tools/master/packages/fabric-de...…

继续阅读
更早的文章

编译错误 error clang importer creation failed

项目里有四个 target ,其他三个都能编译通过, 还有一个死活过不了。四个项目代码完全一样,就是配置不一样。编译时报以下错误<unknown>:0: error: PCH file '/Users/xxx/Library/Developer/Xcode/DerivedData/yg-hiamcrahplfrcgffnenbmeyjsoep/Build/Intermediates.noindex/PrecompiledHeaders/yg-Bridging-Header-sw...…

继续阅读