Hyperledger fabric 新加入组织中的Hyperledger结构链码实例化失败

Hyperledger fabric 新加入组织中的Hyperledger结构链码实例化失败,hyperledger-fabric,Hyperledger Fabric,我们有一个2组织结构网络。最初,我们正在处理的频道只定义了一个组织“org1”,后来通过添加“org2”扩展为两个组织 现在,我们想将链码添加到“org2”中的对等节点 链码可以安装,但是当我们在“org1”中实例化它时,它无法在“org2”中实例化 我们能在日志中看到的唯一错误是流言问题。“org2”中的同龄人显然无法加入八卦网络。在“org2”中启动对等机时,我们在对等机日志中看到以下消息: 2019-08-28 13:48:41.804 UTC [gossip.comm] Handshak

我们有一个2组织结构网络。最初,我们正在处理的频道只定义了一个组织“org1”,后来通过添加“org2”扩展为两个组织

现在,我们想将链码添加到“org2”中的对等节点

链码可以安装,但是当我们在“org1”中实例化它时,它无法在“org2”中实例化

我们能在日志中看到的唯一错误是流言问题。“org2”中的同龄人显然无法加入八卦网络。在“org2”中启动对等机时,我们在对等机日志中看到以下消息:

2019-08-28 13:48:41.804 UTC [gossip.comm] Handshake -> WARN 21b Authentication failed: Could not acquire policy manager for channel mychannel
2019-08-28 13:48:41.804 UTC [gossip.gossip] func1 -> WARN 21c Deep probe of peer0-org1-ch:7051 failed: Could not acquire policy manager for channel mychannel
“org2”中似乎存在一个潜在问题,即“无法获取策略管理器”

这是在“Org2”中实例化链码失败的根本原因吗

什么是策略管理器?是什么导致它在“org2”中不可用

请注意,我们的创世纪区块创建时只知道“org1”:

配置文件:
肌动脉炎:

让我先说说概念

在hyperledger结构中,可以将链码安装到对等节点并实例化到通道,这是唯一的时间

以这种情况为例:

初始设置:

一个组织、两个对等组织和一个渠道 假设您在两个对等机上安装链码abc,并在通道上实例化一次

稍后,如果您将第二个组织添加到频道并加入第二个组织对等方,那么您所要做的就是安装,无需实例化

当您调用或查询第二个组织对等点时,将创建动态链码容器

请确保您在同行中提到了以下env,以便八卦能够正常工作

  - CORE_PEER_GOSSIP_BOOTSTRAP=[org1-peer1:7051,org1-peer2:7051] #<a list of peer endpoints within the peer's org>
  - CORE_PEER_GOSSIP_EXTERNALENDPOINT=org1-peer2:7051
  - CORE_PEER_GOSSIP_USELEADERELECTION=true
  - CORE_PEER_GOSSIP_ORGLEADER=false

-CORE\u PEER\u GOSSIP\u BOOTSTRAP=[org1-peer1:7051,org1-peer2:7051]#我已经提到了关于更新锚节点的明确说明

让我先告诉大家概念

在hyperledger结构中,可以将链码安装到对等节点并实例化到通道,这是唯一的时间

以这种情况为例:

初始设置:

一个组织、两个对等组织和一个渠道 假设您在两个对等机上安装链码abc,并在通道上实例化一次

稍后,如果您将第二个组织添加到频道并加入第二个组织对等方,那么您所要做的就是安装,无需实例化

当您调用或查询第二个组织对等点时,将创建动态链码容器

请确保您在同行中提到了以下env,以便八卦能够正常工作

  - CORE_PEER_GOSSIP_BOOTSTRAP=[org1-peer1:7051,org1-peer2:7051] #<a list of peer endpoints within the peer's org>
  - CORE_PEER_GOSSIP_EXTERNALENDPOINT=org1-peer2:7051
  - CORE_PEER_GOSSIP_USELEADERELECTION=true
  - CORE_PEER_GOSSIP_ORGLEADER=false

-CORE\u PEER\u GOSSIP\u BOOTSTRAP=[org1-peer1:7051,org1-peer2:7051]#我已经提到了更新锚节点的明确说明

首先,它与GOSSIP初始化无关。每个通道只能实例化一次链码。这意味着对于第二个组织,在您的情况下,
Org2
您只需等待,直到对等方同步并拉取已经包含链码实例化事务的块

现在,为了明确起见,您需要实例化流言蜚语,原因有两个:

  • 允许落后的对等方或网络分区中的某个组织无法到达订购服务时进行跨组织状态转移
  • 使私有数据能够通过流言网络跨组织域分发
  • 无论如何,你的失败与流言蜚语本身无关。您不能两次实例化链代码


    如果您想启用八卦,您只需要更新两个组织的锚节点,例如,为发布锚节点的每个组织运行配置更新事务,该事务将用于建立跨组织域通信

    首先,它与流言初始化无关。每个通道只能实例化一次链码。这意味着对于第二个组织,在您的情况下,
    Org2
    您只需等待,直到对等方同步并拉取已经包含链码实例化事务的块

    现在,为了明确起见,您需要实例化流言蜚语,原因有两个:

  • 允许落后的对等方或网络分区中的某个组织无法到达订购服务时进行跨组织状态转移
  • 使私有数据能够通过流言网络跨组织域分发
  • 无论如何,你的失败与流言蜚语本身无关。您不能两次实例化链代码


    如果您想启用八卦,您只需要更新两个组织的锚节点,例如,为发布锚节点的每个组织运行配置更新事务,该事务将用于建立跨组织域通信

    这就是理论。实际上并不是这样。我已经完成了近7个生产项目,很多次我都注意到它工作得很好,我是实际发生的见证人。只要给我一个aws ec2实例,我将向您展示一个示例org的演示。我的Skype ID:nnr不幸的是,在这种情况下,我们得到的信息是链码不存在。我确信一旦八卦起作用,它就会起作用,因此问题是关于八卦问题。我确认设置了“CORE\u PEER\u Gossip\u USELEADERELECTION=true”和“CORE\u PEER\u Gossip\u ORGLEADER=false”。我们目前没有“核心\u对等\u八卦\u引导”的配置。我会添加并更新。这就是理论。实际上并不是这样。我已经完成了近7个生产项目,很多次我都注意到它工作得很好,我是实际发生的见证人。只要给我一个aws ec2实例,我将向您展示一个示例org的演示。我的Skype ID:nnr不幸的是,在这种情况下,我们得到的信息是链码不存在。我确信一旦八卦起作用,它就会起作用,因此问题是关于八卦的问题。我确认“CORE\u PEER\u Gossip\u USELEADERELECTION=true”和“CORE\u PEER\u Gossip\u ORGLEADER”=