在 HyperLedger Fabric 2.5 中创建网络通道时,如何解决成员未在联盟中和管理员策略不满足的问题?

在 HyperLedger Fabric 2.5 中创建网络通道时,如何解决成员未在联盟中和管理员策略不满足的问题?

Hyperledger fabric 2.5 网络通道创建常见错误及解决方法

在使用 Hyperledger Fabric 2.5 创建网络通道时,经常会遇到Error: got unexpected status: BAD_REQUEST — Attempted to include member Org1MSP which is not in the consortium 错误,提示成员未在联盟中。即使configtx.yaml 文件已正确定义了组织成员(例如 Org1 和 Org2),此错误仍然可能出现。 原因在于生成创世块或创建通道时使用的配置文件没有正确引用这些组织成员。

解决方法

  1. 仔细检查配置文件 (Profile): 确保Profiles 部分的 TwoOrgsOrdererGenesis 和 TwoOrgschannel 等配置文件正确引用了 Org1 和 Org2。
  2. 核对组织名称: 确认生成创世块和创建通道时使用的组织名称与 configtx.yaml 文件中的名称完全一致,大小写也要匹配。
  3. 重新生成配置: 使用正确的配置文件重新生成创世块和通道配置文件,确保配置文件准确反映 configtx.yaml 文件中的组织设置。

另一个常见错误是:error Validating channel creation transaction for new channel ‘mychannel’, could not successfully apply update to template configuration: error authorizing update: error validating DeltaSet: policy for [Group] /Channel/Application not satisfied: implicit policy evaluation failed – 0 sub-policies were satisfied, but this policy requires 1 of the ‘Admins’ sub-policies to be satisfied。 此错误表示/Channel/Application 组的管理员策略未满足,通常是因为缺少有效的管理员签名或管理员策略定义错误。

解决方法:

  1. 检查管理员策略: 仔细检查 configtx.yaml 文件中定义的管理员策略(例如 Admins 策略),确保其正确且符合组织结构。
  2. 验证管理员身份: 创建通道时,务必使用正确配置的管理员身份,确保提供了有效的管理员签名。
  3. 重新生成和更新配置: 如果修改了策略定义,必须重新生成创世块和更新通道配置文件,使更改生效。

遇到 Hyperledger Fabric 问题时,建议加入相关的技术社区或论坛寻求帮助,获取更多信息和社区支持。 希望以上信息能够帮助您顺利创建 Hyperledger Fabric 2.5 网络通道。

© 版权声明
THE END
喜欢就支持一下吧
点赞8 分享