如何修复Hyperledger Fabric中的“失败执行End-2-End方案”?

时间:2018-09-28 04:14:28

标签: hyperledger-fabric blockchain

我正在尝试运行此处提供的Fabric示例: https://github.com/hyperledger/fabric-samples/tree/release-1.2/first-network

我遵循来自https://hyperledger-fabric.readthedocs.io/en/release-1.2/build_network.html的Fabric文档的所有说明 ,但遇到错误“无法执行End-2-End方案”。以下是我在终端中输入./byfn.sh up之后的输出。

我什至在Google和stackoverflow上都没有发现任何类似的问题

./byfn.sh up
Starting for channel 'mychannel' with CLI timeout of '10' seconds and CLI delay of '3' seconds
Continue? [Y/n] Y
proceeding ...
LOCAL_VERSION=1.2.0
DOCKER_IMAGE_VERSION=1.2.0
Starting peer1.org1.example.com ... done
Starting orderer.example.com    ... done
Starting peer0.org2.example.com ... done
Starting peer1.org2.example.com ... done
Starting peer0.org1.example.com ... done
Starting cli                    ... done

 ____    _____      _      ____    _____ 
/ ___|  |_   _|    / \    |  _ \  |_   _|
\___ \    | |     / _ \   | |_) |   | |  
 ___) |   | |    / ___ \  |  _ <    | |  
|____/    |_|   /_/   \_\ |_| \_\   |_|  

Build your first network (BYFN) end-to-end test

Channel name : mychannel
+ peer channel create -o orderer.example.com:7050 -c mychannel -f ./channel-artifacts/channel.tx --tls true --cafile /opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/ordererOrganizations/example.com/orderers/orderer.example.com/msp/tlscacerts/tlsca.example.com-cert.pem
Creating channel...
+ res=1
+ set +x
Error: failed to create deliver client: orderer client failed to connect to orderer.example.com:7050: failed to create new connection: context deadline exceeded
!!!!!!!!!!!!!!! Channel creation failed !!!!!!!!!!!!!!!!
========= ERROR !!! FAILED to execute End-2-End Scenario ===========

ERROR !!!! Test failed

问题的根源是什么,我该如何解决?

5 个答案:

答案 0 :(得分:2)

Error: failed to create deliver client: orderer client failed to connect to orderer.example.com:7050: failed to create new connection: context deadline exceeded

此错误表明对等方无法解析/连接到orderer.example.com:7050。尝试通过以下方式检查所有容器

docker ps -a

这将向您显示所有正在运行的容器以及已退出的容器,您可以通过以下方式检查容器日志

docker logs your_container_name

如果以前的容器在同一网络中运行或停止并且忘记了删除它,也可能发生这种情况,因此可以尝试关闭整个网络,然后重新启动。

./byfn.sh down
./byfn.sh up

答案 1 :(得分:1)

我正在使用Windows 10解决上述错误

function showDivs(n) {
    var i;
    var x = document.getElementsByClassName("mySlides");
    var autoplay = setInterval("plusDivs(-1)", 3000);
    if (n > x.length) {
        slideIndex = 1
    }
    if (n < 1) {
       slideIndex = x.length
    }
    for (i = 0; i < x.length; i++) {
       x[i].style.display = "none";
    }
    x[slideIndex-1].style.display = "block";
    autoplay;
  }

答案 2 :(得分:0)

对于Linux:

UIImage(named:)

答案 3 :(得分:0)

我也遇到了这个错误。类似的。从docker日志中注意到了以下错误。

panic: [channel byfn-sys-channel] config requires unsupported orderer capabilities: Orderer capability V1_4_2 is required but not supported: Orderer capability V1_4_2 is required but not supported

在这里,我注意到我已经下载了1.4.0版的二进制文件。我选择此版本是因为它是长期支持版本。我注意到,结构1.4.2的二进制文件不可用。

在fabric-samples目录中运行git checkout v1.4.0对我来说解决了这个问题。

我提到了这个:eye_opener

此后,再次运行脚本。它应该工作!有时,您可能会因端口已分配错误而结束。

运行docker rm -f $(docker ps -aq)

以上命令将释放所需的端口。再次运行脚本应该可以解决问题。如果您有任何权限被拒绝的错误。使用sudo。

答案 4 :(得分:0)

在大多数情况下,这种情况是由于图像冲突而发生的。请删除现有的织物图像,然后尝试再次拉出(byfn将为您下载新图像)。

要删除图像:

docker rmi $(docker images -a)

然后尝试

./ byfn up