【问题标题】:Dynamic Channel artifacts(channel.tx) in Hyperledger FabricHyperledger Fabric 中的动态通道工件(channel.tx)
【发布时间】:2019-06-14 07:38:56
【问题描述】:
是否有任何其他方法可以为 Hyperledger-Fabric 通道创建生成通用通道工件(channel.tx),以便可以在运行时单独更改通道名称,而不是为每个新通道发出以下具有不同通道名称的命令频道。
./bin/configtxgen -profile OneOrgChannel -outputCreateChannelTx
./config/channel5.txt
【问题讨论】:
标签:
hyperledger-fabric
hyperledger
hyperledger-fabric-sdk-js
hyperledger-fabric-sdk-go
【解决方案1】:
这并不完全是您正在寻找的答案,但我们在带有 ProcessBuilder 的 Java 应用程序中动态地执行此操作。这样我们就可以按需创建新的通道——它最终嵌入在一个 REST 服务中,允许您(一个)根据需要传递一个 configtx 文件。
只要已经生成了加密货币(我们在另一项服务中执行此操作),您就可以按需执行此操作。
【解决方案2】:
所以 aatk 的回答通过在实际应用程序一侧运行 configtxgen 来应用 sidecar 模式 来解决问题。但是,您可以在应用程序本身中执行此操作。
使用configtxgen 生成的通道配置事务 是一个包含common.Envelope 消息的protobuf 的文件。 Java 中支持 protobuf,并且由于 Fabric Java SDK,Envelope 消息已编译为 Java。我们可以搭载 SDK 来创建对象并获取 ByteArray 来创建将用于创建通道的 ChannelConfiguration 对象。此方法根本不需要 configtx.yaml 文件,因此您需要在应用中跟踪组织及其 MSP ID。