我正在尝试使用超级分类帐编写器建立一个网络,我跟着它 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
我试过拆掉布料并再次启动布料,但它没有帮助。
答案 0 :(得分:3)
你是代理/防火墙的背后吗?如果是composer network install
命令,则需要-o npmrcFile
参数,以解析NPM注册表。例如registry=https://mycompanynpmregistry.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,则可以尝试增加启动超时的结构默认值的超时。
如果您使用来自composer-tools
github repo的简单Hyperledger Composer development server environment,那么您可以将以下内容添加到对等定义中,以查看它是否解决了问题:
~/fabric-tools/fabric-scripts/hlfv11/composer/docker-compose.yml
中的
例如,以上是对等定义的片段。您必须从该目录位置执行docker-compose stop
- 然后docker-compose start
才能生效。
脚注:
除了CORE_CHAINCODE_STARTUPTIMEOUT更改之外 - 您还必须在执行composer network start命令的卡的connection.json
文件中更新匹配的超时值(即CORE_CHAINCODE_STARTUPTIMEOUT)(例如PeerAdmin卡)在$ HOME / .composer中)。您将在'客户端'中看到4个超时(3个用于对等,1个用于订单)。部分,在节"连接"。默认情况下,这些设置为300秒 - 将值增加到1200
。请注意,CORE_CHAINCODE_STARTUPTIMEOUT必须包含'尾随s' ,而上面定义的这4个超时 - 没有这个。
答案 1 :(得分:0)
1)我在启动网络时遇到了相同的错误。这个解决方案对我有帮助:https://github.com/hyperledger/composer/issues/3591#issuecomment-386718739
它说明如下:
从超级账本中复制字符串时,会有一个额外的字符 作曲家网站。
尝试将以下行粘贴到记事本中,然后粘贴到 命令行。它将起作用。
composer network start --networkName tutorial-network --networkVersion 0.0.1 --networkAdmin admin --networkAdminEnrollSecret adminpw --card PeerAdmin@hlfv1 --file networkadmin.card
2)如果没有帮助,请尝试杀死任何陈旧或活动的Docker容器。
运行以下命令以杀死任何陈旧或活动的容器:
docker rm -f $(docker ps -aq)
清除所有缓存的网络:
在命令提示时按y
docker网络修剪
然后,转到~/fabric-dev-servers
文件夹并运行命令:
cd〜/ fabric-dev-servers
./ teardownFabric.sh
./ startFabric.sh
./ createPeerAdminCard.sh
然后,运行composer network install命令:
composer网络启动--networkName教程-网络--networkVersion 0.0.1 --networkAdmin管理员--networkAdminEnrollSecret adminpw --card PeerAdmin @ hlfv1-文件networkadmin.card
答案 2 :(得分:0)
我有同样的错误,我发现我已经安装在系统中的先决条件与版本不匹配。因此,我卸载了先决条件并重新安装了它们。就我而言,泊坞窗版本造成了问题。
答案 3 :(得分:0)
Hyperledger作曲家现在已过时。不再使用了。请尝试避免使用它。