超级账本结构GOSSIP_BOOTSTRAP和GOSSIP_EXTERNALENDPOINTS

时间:2018-07-17 09:12:53

标签: hyperledger-fabric blockchain hyperledger

我正在查看docker配置文件,并在对等环境中找到了两个参数,如下所示:

environment:
      - CORE_PEER_ID=peer0.org1.example.com
      - CORE_PEER_ADDRESS=peer0.org1.example.com:7051
      - CORE_PEER_GOSSIP_BOOTSTRAP=peer1.org1.example.com:7051
      - CORE_PEER_GOSSIP_EXTERNALENDPOINT=peer0.org1.example.com:7051
      - CORE_PEER_LOCALMSPID=Org1MSP 

谁能解释两个变量 CORE_PEER_GOSSIP_BOOTSTRAP CORE_PEER_GOSSIP_EXTERNALENDPOINT 的作用。在对等体数目为奇数的情况下如何配置它们。

非常感谢您提供详细的解释。

1 个答案:

答案 0 :(得分:12)

八卦可仅在同一组织的同级之间或不同组织的同级之间使用。它始终限于特定渠道。

1)单个组织中的同级之间的通信

  • 一个对等方可能是领导者,可以连接到订购服务,并向其自己组织中的其他对等方传递块

  • 一个对等方可以连接到其组织中的其他对等方以获得丢失的区块

2)不同组织的同级之间的通信

  • 在v1.2中,使用私有数据功能时,八卦用于在认可时将私有数据分发给组织中的其他对等方

  • 对等方可以从其他组织的对等方中获取已经提交的丢失的块

  • 对等方可以在提交时从其他组织的对等方中丢失私有数据

为了使八卦切实可行,它需要能够为自己组织中的对等方以及从其他组织中的对等方获取终结点信息。

CORE_PEER_GOSSIP_BOOTSTRAP 用于引导组织中的八卦。如果使用闲话,通常将组织中的所有对等点配置为指向用于引导的一组初始对等点(您可以指定一个用空格分隔的对等点列表)。当然,偏离对等的节点也可以从不同的对等节点进行引导,但是在这种情况下,您只需要确保所有对等节点之间都有引导路径即可。组织内的同级通常将在其内部端点上进行通信(这意味着您不必公开公开组织中的所有同级)。当对等方联系引导对等方时,它将传递其端点信息,然后使用流言ip语将有关组织中所有对等方的信息分发给组织中的对等方。

为了使对等点能够在组织之间进行通信,再次需要某种类型的引导程序信息。初始的跨组织引导信息是通过通道配置中的“锚点”设置提供的。这使加入频道的对等方也可以发现该频道上的其他对等方。但是很明显,最初,组织中的对等方只会知道那里组织的锚点对等方。如果要使组织中的其他对等对象与其他组织一起使用,则需要设置 CORE_PEER_GOSSIP_EXTERNALENDPOINT 属性。如果未设置,则有关对等方的终结点信息将不会广播给其他组织中的对等方,实际上-该对等方只会被其自己的组织所了解。