超级账本Fabric:签署通道更新

3
我正在使用Hyperledger Fabric v2.2以及多个组织的设置。我想要将一个新的组织加入到现有通道中。问题在于签署通道更新。 Fabric文档提到了两种主要的签署实现方式:
  1. “传递签名” - Org1管理员签署通道更新并发送给Org2管理员,Org2管理员签署并发送给Org3,以此类推,直到收集足够的签名。
  2. "另一种选择是将更新提交给通道上的每个管理员,并等待足够的签名返回。然后可以将这些签名拼接在一起并提交。这使得创建配置更新的管理员的工作变得更加困难(强制他们处理每个签名者的文件),但对于开发Fabric管理应用程序的用户而言,这是推荐的工作流程。"
我找到的所有示例都只描述了第一个实现。但是如何使用第二个?我在HLF Node.js SDK v1.4中找到了相关代码,但是在v2.2中找不到相同的内容。
3个回答

1

我曾经也有同样的疑问,直到我看到了这里

Fabric v2.x SDK仅支持交易和查询功能以及事件监听。为了使用CLI工具,SDK中已删除了通道和节点的管理功能。

从v2.x开始不再支持管理员功能。不确定我是否回答了你的问题。


1

我注意到关于第二种方法找不到示例的同样的事情。但是,如果你在配置更新的最后阶段(准备好签名)解码它,你会发现有一个签名数组,像这样:

"signatures": [
                {
                    "signature": ...",
                    "signature_header": {
                        "creator": {
                            "id_bytes": "...,
                            "mspid": "Org1MSP"
                        },
                        "nonce": "..."
                    }
                }
            ]

因此,您可以独立签署文件的副本,然后对每个文件进行解码,将它们添加到数组中,最后再次进行编码并提交。


1
我确认这是正确的方法。我刚刚测试了编辑。你需要做很多解码/编码,但你可以在数组中添加签名。 - Matias Salimbene

0
对于HF 2.4和2.5版本:
导出CORE_PEER_LOCALMSPID="Org1MSP"
导出CORE_PEER_MSPCONFIGPATH=PATH/TO/ORG1/MSP
./peer channel signconfigtx -f ../channel-artifacts/config_update_in_envelope.pb
将其传递给Org2,并通过相应的环境变量通过./peer submit命令提交配置更新。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接