Hyperledger-Composer:在ping网络管理员卡时获取"access denied"



我在Hyperledger Fabric上使用Hyperledger Composer来部署.bna文件。为不同的组织创建networkAdmin卡时会出现问题,这些组织无法访问网络。

背景

项目结构如下:

  • 组织:
    • exporter01,具有一个对等端和一个CA
    • 带有一个对等端和一个CA的MaritimeAgent01
    • 具有一个对等端和一个CA的终端01
    • 带有一个对等端和一个CA的terrestrialTransport01

解决问题的步骤如下:

  1. 使用/msp/keystore/下的管理证书privateKey文件为每个组织创建PeerAdmin
  2. 为使用PeerAdmin卡的每个组织对等端安装使用composer network install ...的网络存档
  3. composer network start ...命令上指定的每个networkAdmin请求的标识(每个组织一个(
  4. 使用
    composer network start --card PeerAdmin@$NETWORK_NAME-exporter01 --networkName $NETWORK_NAME --networkVersion $NETWORK_VERSION -o endorsementPolicyFile=./endorsement-policy.json -A exporter01 -C $TMP_BASEDIR/exporter01/admin-pub.pem -A maritimeAgency01 -C $TMP_BASEDIR/maritimeAgency01/admin-pub.pem -A terminal01 -C $TMP_BASEDIR/terminal01/admin-pub.pem -A terrestrialTransport01 -C $TMP_BASEDIR/terrestrialTransport01/admin-pub.pem为所有对等方启动网络

问题

composer card create ...与以下一起使用后

  • connectionProfile.json(与创建PeerAdmin卡时使用的相同(
  • user:与composer network start ...中的-A标志相同
  • 证书:与composer network start ...中的-C标志相同
  • privateKey:composer identity request ...生成的证书对应的

使用composer card import ...导入后,卡成功导入但是使用composer network ping -c <created networkAdmin card>时,命令失败,并显示以下消息

Error: Error trying to ping. Error: 2 UNKNOWN: access denied: channel [mychannel] creator org [Exporter01MSP]

你知道为什么会发生这种事吗?谢谢

两周后发现错误。在这里为社区记录

这是Hyperledger结构配置错误。

当使用多个CA(每个组织一个(时,必须将证书作为环境变量ORDERER_GENERAL_TLS_ROOTCAS添加到orderer docker容器中,否则这些CA颁发的任何身份都将无法连接。

在以下织物样本Repo行55中找到解决方案。不要忘记链接卷(第63-64行(。

最新更新