启动交换矩阵网络1.4时出错:无法创建传递客户端:定单客户端无法连接到orderer.example.com:7050

时间:2019-10-05 18:21:37

标签: hyperledger-fabric blockchain hyperledger

我正在建立新的光纤网络,并遇到此错误:

Error: failed to create deliver client: orderer client failed to connect to orderer.example.com:7050: failed to create new connection: connection error: desc = "transport: error while dialing: dial tcp: lookup orderer.example.com on 127.0.0.11:53: no such host"
!!!!!!!!!!!!!!! Channel creation failed !!!!!!!!!!!!!!!!
========= ERROR !!! FAILED to execute End-2-End Scenario ===========

ERROR !!!! Test failed

我的命令:

./scripts/bootstrap.sh 1.4.1 1.4.1 0.4.14
cd first-network
./byfn.sh generate
sudo ./byfn.sh up

我希望光纤网络能够启动。

我运行了docker ps -a,它表明容器订购者大约在一小时前退出(2)。

2 个答案:

答案 0 :(得分:0)

因此您的订购容器已退出。有时候,某些已经创建的docker卷有时会与您的新网络设置混淆。因此,为避免这些情况,您可以使用以下命令停止网络并清理docker卷:

docker volume prune 

然后再次重新启动网络。看看是否有帮助。

答案 1 :(得分:0)

我不确定为什么会发生这种情况,但是停止容器并删除图像可以解决问题。您可以尝试以下方法之一:

方法1:

要通过sudo docker stop $(sudo docker ps -aq)停止容器,然后通过运行sudo docker rm $(sudo docker ps -aq)来删除它们。现在,用./network.sh up

重新启动网络

方法2:

  1. 从刚刚下载的fabric-sample文件夹内的最新bin文件夹导出路径变量:export PATH=~/workspace/fabric-samples/bin:$PATH
  2. 使用chmod使bin文件夹中的文件可执行。对我来说,chmod -x无效。因此,我特别慷慨,并提供了chmod 777权限:

chmod 777 ~/workspace/fabric-samples/bin/configtxgen
chmod 777 ~/workspace/fabric-samples/bin/configtxlator
chmod 777 ~/workspace/fabric-samples/bin/cryptogen
chmod 777 ~/workspace/fabric-samples/bin/discover
chmod 777 ~/workspace/fabric-samples/bin/fabric-ca-client
chmod 777 ~/workspace/fabric-samples/bin//idemixgen
chmod 777 ~/workspace/fabric-samples/bin/orderer
chmod 777 ~/workspace/fabric-samples/bin/peer
chmod 777 ~/workspace/property-registration/network/crypto-config.yaml

chmod 777 ~/workspace/property-registration/network/fabricNetwork.sh
chmod 777 ~/workspace/property-registration/network/docker-compose.yml
chmod 777 ~/workspace/property-registration/network/configtx.yaml
chmod 777 ~/workspace/property-registration/network/docker-compose-e2e.yml
chmod 777 ~/workspace/property-registration/network/docker-compose-template.yaml
chmod 777 ~/workspace/property-registration/network/scripts/bootstrap.sh

  1. 生成证书和渠道工件:./network.sh generate

  2. 使用chmod使genesis.block可执行:chmod 667 /channel-artifacts/genesis.block

  3. 确保使用最新的CA密钥更新docker-compose-e2e.yml文件中的私钥。打开docker-compose-e2e.yml文件并检查函数replacePrivateKey。

  4. 使用撰写文件docker-compose -f ./docker-compose.yml up -d启动docker容器使用docker ps -a

  5. 检查是否所有容器都在运行
  6. 运行引导脚本,并将对等方彼此连接:./network.sh retry

方法2对我有效。似乎其中一个文件没有正确的可执行权限。下次重新启动笔记本电脑时,您可能不得不再次执行此操作-或创建脚本文件以使其自动化。