我正在尝试使用 super 账本 Composer 建立一个网络,为此我遵循了 Developer tutorial for creating a Hyperledger Composer solution 但是当我使用命令
composer network start --networkName tutorial-network --networkVersion
0.0.1 --networkAdmin admin --networkAdminEnrollSecret adminpw --card PeerAdmin@hlfv1 --file networkadmin.card
出现以下错误:
Starting business network tutorial-network at version 0.0.1
Processing these Network Admins: userName: admin
✖ Starting business network definition. This may take a minute...
**Error: Error trying to start business network. Error: No valid responses from any peers.** Response from attempted peer comms was an error: **Error: 2 UNKNOWN: error starting container: Failed to generate platform-specific docker build: Error returned from build: 1 "npm ERR!** code EAI_AGAIN npm ERR! errno EAI_AGAIN npm ERR! request to https://registry.npmjs.org/composer-runtime-hlfv1 failed, reason: getaddrinfo EAI_AGAIN registry.npmjs.org:443
npm ERR! A complete log of this run can be found in: npm ERR! /root/.npm/_logs/2018-04-10T10_10_13_361Z-debug.log " Command failed
我尝试撕下布料并重新启动布料,但没有帮助。
最佳答案
您是否位于代理/防火墙后面?如果是这样,在
composer network install
命令中,您需要-o npmrcFile
参数来解析 NPM 注册表。例如registry=https://mycompanyynpmregistry.com:4873
(或解析的 IP 地址),如composer network install -c PeerAdmin@hlfv1 -a digitalproperty-network.bna -o npmrcFile=/tmp/npmrcFile
。请参阅https://hyperledger.github.io/composer/latest/managing/connector-information如果您发现在启动或升级请求时遇到 REQUEST_TIMEOUT,您可以尝试增加结构默认的启动超时时间。
如果您使用我们简单的 Hyperledger Composer development server environment来自 composer-tools
github 存储库,然后您可以将以下内容添加到对等定义中,看看它是否解决了问题:
- CORE_CHAINCODE_STARTUPTIMEOUT=1200 秒
在文件~/fabric-tools/fabric-scripts/hlfv11/composer/docker-compose.yml
例如,上面是对等定义的片段。您必须执行 docker-compose stop
- 然后从该目录位置执行 docker-compose start
才能生效。
脚注:
除了上面的 CORE_CHAINCODE_STARTUPTIMEOUT 更改之外 - 您还必须在执行 Composer 网络启动命令的卡的 connection.json
文件中更新超时值以匹配(即 CORE_CHAINCODE_STARTUPTIMEOUT) (例如 $HOME/.composer 中的 PeerAdmin 卡)。您将在“客户端”部分的“连接”节下看到 4 个超时(对等方 3 个,订单 1 个)。默认情况下,这些设置为 300 秒 - 将每个值增加到 1200
。请注意,CORE_CHAINCODE_STARTUPTIMEOUT 必须有“尾随 s”,而上面定义的这 4 个超时 - 没有这个。
关于npm - 使用 Hyperledger Composer 启动 Hyperledger Fabric 网络时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49751259/