【问题标题】:Hyperledger Fabric - How to limit Org2 to install/instantiate/upgrade the chaincode to the channel?Hyperledger Fabric - 如何限制 Org2 将链码安装/实例化/升级到通道?
【发布时间】:2019-03-13 03:04:06
【问题描述】:

我的结构网络联盟(在 configtx.yaml 中)有两个组织:ORG1 和 ORG2。 ORG1 有 4 个主节点,而 ORG2 只有 1 个节点。 ORG2 peer 的唯一目的是拥有账本的副本(用于审计目的)。

他们都加入了同一个频道,假设 ORG1 的管理员已经安装/实例化了 0.1 版链代码

现在,ORG2 的管理员还可以使用相同的链代码名称“对等链代码升级”到版本 0.2,当提案到达 ORG1 对等点之一时,它会说:

endorsement failure during invoke. response: status:500 message:"cannot retrieve package for chaincode [chaincode name]/0.2, error open /var/hyperledger/production/chaincodes/[chaincode name]/0.2: no such file or directory"

我们如何完全阻止 ORG2 升级链码版本?这样只有 ORG1 的管理员才能执行管理操作?

我已经搜索了 ACL,但管理操作似乎不受 ACL 设置的控制。

【问题讨论】:

    标签: hyperledger-fabric hyperledger acl


    【解决方案1】:

    经过研究,我们发现我们可以在链码包的实例化策略上设置这个。

    请看下面的面料文档:

    https://hyperledger-fabric.readthedocs.io/en/release-1.4/commands/peerchaincode.html#peer-chaincode-package

    使用 -i 标志,您可以在打包链码时设置实例化策略。那么只有策略上允许的组织才能在通道上实例化或升级链码

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-09-27
      • 1970-01-01
      • 2020-10-12
      • 2019-04-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多