【问题标题】:Fabric create channel, api to replace configtxgen in a program?Fabric创建通道,api替换程序中的configtxgen?
【发布时间】:2018-10-08 18:53:50
【问题描述】:

我看到要创建通道,需要使用 configtxgen 脚本来创建通道工件、创世块和通道配置二进制定义。如果我需要能够根据需要以编程方式和动态创建新频道怎么办?是否有任何可以在程序中调用的 api,比如 nodejs,它会做 'configtxgen' 的作用?

【问题讨论】:

    标签: hyperledger-fabric ibm-blockchain


    【解决方案1】:

    configtxgen 是一种工具,旨在使用大部分预配置的网络(例如sample applications)促进开发和测试。它不需要或不打算在生产环境中使用。您可以使用Fabric SDKs 之一来创建频道、加入频道等。

    【讨论】:

    • 谢谢。但是如果你参考这个链接创建频道使用sdk,fabric-sdk-node.github.io/tutorial-channel-create.html,它仍然使用configtxgen创建sdk创建频道方法所需的频道配置二进制文件。是否有其他方法或方式来创建通道配置二进制文件?
    • 正确,但这是可选的。目前没有其他方法可以创建二进制文件。
    • 好的,我省略了所有可选字段,但 createChannel 返回以下错误:缺少包含在 Client._createOrUpdateChannel 中的通道配置的配置请求参数。似乎仍然期望配置字段应该是可选的。
    • @christo4ferris 请在您的回复中看到讽刺意味:configtxgen 不适用于生产,但是没有其他方法可以创建通道配置二进制文件。所以.. 创建频道还没有准备好生产? :)
    【解决方案2】:

    使用configtxgen 生成的通道配置事务 是一个包含common.Envelope 消息的protobuf 的文件。

    假设您使用 Java(尽管这在其他语言中也应该是可能的),您可以将 protobuf 编译为本机类。借助 Fabric Java SDK,Envelope 消息已编译为 Java,因此您可以搭载 SDK 来创建对象。获得对象后,您可以获取 ByteArray 以创建将用于创建通道的 ChannelConfiguration 对象。此方法根本不需要 configtx.yaml 文件,因此您需要在应用中跟踪组织及其 MSP ID。

    【讨论】:

      猜你喜欢
      • 2021-09-25
      • 2018-06-19
      • 2023-01-31
      • 2019-05-21
      • 2019-05-20
      • 2018-08-24
      • 2019-01-06
      • 1970-01-01
      • 2018-01-25
      相关资源
      最近更新 更多