使用超级分类合成器

时间:2018-04-10 10:27:00

标签: npm hyperledger-fabric hyperledger hyperledger-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

我试过拆掉布料并再次启动布料,但它没有帮助。

4 个答案:

答案 0 :(得分:3)

  1. 你是代理/防火墙的背后吗?如果是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

  2. 如果您发现在启动或升级请求中获得了REQUEST_TIMEOUT,则可以尝试增加启动超时的结构默认值的超时。

  3. 如果您使用来自composer-tools github repo的简单Hyperledger Composer development server environment,那么您可以将以下内容添加到对等定义中,以查看它是否解决了问题:

    • CORE_CHAINCODE_STARTUPTIMEOUT = 1200秒
    文件~/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作曲家现在已过时。不再使用了。请尝试避免使用它。