我正在尝试使用超级分类帐编写器建立一个网络,为此我遵循了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://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如果您使用来自development server environment github repo的简单Hyperledger Composer composer-tools
,那么您可以将以下内容添加到对等定义中,以查看它是否解决了问题:
在文件~/fabric-tools/fabric-scripts/hlfv11/composer/docker-compose.yml
中,例如,以上是来自对等定义的片段。你必须做一个docker-compose stop
- 然后docker-compose start
从该目录位置生效。
脚注:
除了CORE_CHAINCODE_STARTUPTIMEOUT更改之外 - 您还必须更新匹配的超时值(即CORE_CHAINCODE_STARTUPTIMEOUT),在执行composer network start命令的卡的connection.json
文件中(例如$ HOME / .composer中的PeerAdmin卡) 。您将在“客户端”部分的“连接”节下看到4个超时(3个用于对等,1个用于订单)。默认情况下,这些设置为300秒 - 将值增加到1200
。请注意,CORE_CHAINCODE_STARTUPTIMEOUT必须具有'尾随s',而上面定义的这4个超时 - 没有这个。
1)启动网络时遇到了同样的错误。这个解决方案帮助了我:https://github.com/hyperledger/composer/issues/3591#issuecomment-386718739
它陈述如下:
从hyperledger composer网站复制字符串时有一个额外的字符。
尝试将以下行粘贴到记事本并粘贴到命令行中。它会工作。
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
码头网络修剪
然后,转到~/fabric-dev-servers
文件夹并运行命令:
cd~ / fabric-dev-servers
./teardown fabric.是
./start fabric.是
./create peer admin card.是
之后,运行composer network install命令:
composer network start --networkName tutorial-network --networkVersion 0.0.1 --networkAdmin admin --networkAdminEnrollSecret adminpw --card PeerAdmin @hlfv1 --file networkadmin.card
我有同样的错误,我发现我已经在我的系统中安装的预先安排与版本不匹配。所以我卸载了预先安装并重新安装它们。在我的情况下,docker的版本正在创建一个问题。
Hyperledger作曲家现在已经过时了。它不再使用了。请尽量避免使用它。