Hyperledger-Composer:对网络管理卡执行ping操作时“访问被拒绝”

时间:2018-07-13 16:44:05

标签: hyperledger-fabric hyperledger-composer

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

背景

项目结构如下:

  • 组织:
    • exporter01,具有一个对等方和一个CA
    • maritimeAgency01,具有一个对等方和一个CA
    • terminal01,具有一个对等方和一个CA
    • terrestrialTransport01,带有一个对等方和一个CA

解决此问题的步骤如下:

  1. 使用 / msp / keystore / 下的admin 证书 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 卡的软件)
  • 用户:与-A中的composer network start ...标志相同
  • 证书:与-C中的composer network start ...标志相同
  • 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]

任何想法为什么会这样? 谢谢!

1 个答案:

答案 0 :(得分:2)

两周后发现错误。在社区登录。

这是Hyperledger-Fabric配置错误。

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

在下面的fabric-sample Repo第55行中找到了解决方案。请不要忘记链接这些卷(第63-64行)。