2017-04-01 93 views
2

我正在尝试修改Hyperledger结构v1.0的the Getting Started example。 源代码位于examples/e2e_cli目录中。如何在2个实例上拆分hyperledger fabcic对等体?

原始场景是4个同伴,1个订购服务和1个cli服务。

我想在一个云实例(实例A)和另一个实例(实例B)上的一个对等体上实现3个对等体,1个订购服务和1个cli服务。

由于区块链是分布式分类账,我想在多个实例上进行测试。

我所做的是......

  1. 开始3名同行和1个CLI和1级排序上的实例A.我注释掉等方2泊坞窗,compose.yaml的部分。

  2. 开始1对在实例B.我复制泊坞窗,compose.yaml的对等体2段和执行的码头工人,组成-f只-peer2.yaml了

  3. 按照指令,“手动执行交易“,来创建和实例化一个频道,并尝试让这些节点加入该频道。

下面是我在cli上尝试的代码,让实例B的对等体加入该通道。在实例B

等方2加入频道:

CORE_PEER_MSPCONFIGPATH=$GOPATH/src/github.com/hyperledger/fabric/peer/crypto/peer/peer2/localMspConfig 
CORE_PEER_ADDRESS=<IP address of instance B>:9051 
CORE_PEER_LOCALMSPID="Org0MSP" 
CORE_PEER_TLS_ROOTCERT_FILE=$GOPATH/src/github.com/hyperledger/fabric/peer/crypto/peer/peer2/localMspConfig/cacerts/peerOrg1.pem 
peer channel join -b mychannel.block 

我只是改变等方2到实例b的IP地址。

但我得到了错误,我不能让实例B上的peer2加入该频道。

这里是错误信息。

实例A(CLI):

Error: Error getting endorser client channel: PEER_CONNECTIONERROR - Error trying to connect to local peer: grpc: timed out when dialing 

实例B(对等方2):

peer2 | 2017/04/01 22:56:32 grpc: Server.Serve failed to complete security handshake from "<IP address of instance A>:1177": EOF 
peer2 | 2017/04/01 22:56:34 grpc: Server.Serve failed to complete security handshake from "<IP address of instance A>:1178": read tcp 172.19.0.2:7051->52.183.102.216:1178: read: connection reset by peer 

由于我是新来blockchain和Hyperledger一般,我可能不理解基本的身份验证机制。但我认为以2个实例作为例子是很好的起点。

因为我可以顺利通过原始方案没有任何错误(其中只使用1个实例),我的服务器设置应该没关系......

请给我提示。

谢谢!

+0

根据Using CouchDB部分修改examples/e2e_cli/docker-compose.yaml后,我运行'peer channel join -b mychannel.block'命令时发生了同样的错误(取消了全部注释有关CouchDB容器和对等容器使用CouchDB的评论声明)。 – mathsyouth

回答

1

这个问题有点过时,因为它指的是1.0.0-alpha版本的入门示例。但是,确实有资源在多个主机上设置网络。

This one利用Ansible,OpenStack和Kubernetes,并正在合并到Hyperledger Cello的过程中。 This one会将节点部署到预先配置的VM。可能还有其他例子。

相关问题