千家信息网

Fabric区块链网络运维工具configtxgen配置文件的示例分析

发表于:2025-12-02 作者:千家信息网编辑
千家信息网最后更新 2025年12月02日,小编给大家分享一下Fabric区块链网络运维工具configtxgen配置文件的示例分析,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去
千家信息网最后更新 2025年12月02日Fabric区块链网络运维工具configtxgen配置文件的示例分析

小编给大家分享一下Fabric区块链网络运维工具configtxgen配置文件的示例分析,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!

configtx.yaml是Hyperledger Fabric区块链网络运维工具configtxgen用于生成通道创世块或通道交易的配置文件,configtx.yaml的内容直接决定了所生成的创世区块的内容。

Capabilities / 通道能力配置

Capabilities段用来定义fabric网络的能力。这是版本v1.0.0引入的一个新的配置段,当与版本v1.0.x的对等节点与排序节点混合组网时不可使用。

Capabilities段定义了fabric程序要加入网络所必须支持的特性。例如,如果添加了一个新的MSP类型,那么更新的程序可能会根据该类型识别并验证签名,但是老版本的程序就没有办法验证这些交易。这可能导致不同版本的fabric程序中维护的世界状态不一致。

因此,通过定义通道的能力,就明确了不满足该能力要求的fabric程序,将无法处理交易,除非升级到新的版本。对于v1.0.x的程序而言,如果在Capabilities段定义了任何能力,即使声明不需要支持这些能力,都会导致其有意崩溃。

Capabilities:    # Global配置同时应用于排序节点和对等节点,并且必须被两种节点同时支持。    # 将该配置项设置为ture表明要求节点具备该能力    Global: &ChannelCapabilities        V1_3: true    # Orderer配置仅应用于排序节点,不需考虑对等节点的升级。将该配置项    # 设置为true表明要求排序节点具备该能力    Orderer: &OrdererCapabilities        V1_1: true    # Application配置仅应用于对等网络,不需考虑排序节点的升级。将该配置项    # 设置为true表明要求对等节点具备该能力    Application: &ApplicationCapabilities        V1_3: true

Organizations / 组织机构配置

Organizations配置段用来定义组织机构实体,以便在后续配置中引用。例如,下面的配置文件中,定义了三个机构,可以分别使用ExampleCom、Org1ExampleCom和Org2ExampleCom引用其配置:

Organizations:    - &ExampleCom        Name: ExampleCom        ID: example.com        AdminPrincipal: Role.ADMIN        MSPDir: ./ordererOrganizations/example.com/msp        Policies:            Readers:                Type: Signature                Rule: OR('example.com.member')            Writers:                Type: Signature                Rule: OR('example.com.member')            Admins:                Type: Signature                Rule: OR('example.com.admin')            Endorsement:                Type: Signature                Rule: OR('example.com.member')    - &Org1ExampleCom        Name: Org1ExampleCom        ID: org1.example.com        MSPDir: ./peerOrganizations/org1.example.com/msp        AdminPrincipal: Role.ADMIN        AnchorPeers:            - Host: peer0.org1.example.com              Port: 7051        Policies:            Readers:                Type: Signature                Rule: OR('org1.example.com.member')            Writers:                Type: Signature                Rule: OR('org1.example.com.member')            Admins:                Type: Signature                Rule: OR('org1.example.com.admin')            Endorsement:                Type: Signature                Rule: OR('org1.example.com.member')    - &Org2ExampleCom        Name: Org2ExampleCom        ID: org2.example.com        MSPDir: ./peerOrganizations/org2.example.com/msp        AdminPrincipal: Role.ADMIN        AnchorPeers:            - Host: peer0.org2.example.com              Port: 7051        Policies:            Readers:                Type: Signature                Rule: OR('org2.example.com.member')            Writers:                Type: Signature                Rule: OR('org2.example.com.member')            Admins:                Type: Signature                Rule: OR('org2.example.com.admin')            Endorsement:                Type: Signature                Rule: OR('org2.example.com.member')

Orderer / 排序节点配置

Orderer配置段用来定义要编码写入创世区块或通道交易的排序节点参数。

Orderer: &OrdererDefaults    # 排序节点类型用来指定要启用的排序节点实现,不同的实现对应不同的共识算法。    # 目前可用的类型为:solo和kafka    OrdererType: solo    Addresses:        - orderer0.example.com:7050    BatchTimeout: 2s    BatchSize:        MaxMessageCount: 10        AbsoluteMaxBytes: 98 MB        PreferredMaxBytes: 512 KB    MaxChannels: 0    Kafka:        Brokers:            - kafka0:9092            - kafka1:9092            - kafka2:9092            - kafka3:9092    Organizations:    # 定义本层级的排序节点策略,其权威路径为 /Channel/Orderer/    Policies:        Readers:            Type: ImplicitMeta            Rule: ANY Readers        Writers:            Type: ImplicitMeta            Rule: ANY Writers        Admins:            Type: ImplicitMeta            Rule: MAJORITY Admins        # BlockValidation配置项指定了哪些签名必须包含在区块中,以便对等节点进行验证        BlockValidation:            Type: ImplicitMeta            Rule: ANY Writers    # Capabilities配置描述排序节点层级的能力需求,这里直接引用    # 前面Capabilities配置段中的OrdererCapabilities配置项    Capabilities:        <<: *OrdererCapabilities

Channel / 通道配置

Channel配置段用来定义要写入创世区块或配置交易的通道参数。

Channel: &ChannelDefaults    # 定义本层级的通道访问策略,其权威路径为 /Channel/    Policies:        Readers:            Type: ImplicitMeta            Rule: ANY Readers        # Writes策略定义了调用Broadcast API提交交易的许可规则        Writers:            Type: ImplicitMeta            Rule: ANY Writers        # Admin策略定义了修改本层级配置的许可规则        Admins:            Type: ImplicitMeta            Rule: MAJORITY Admins    # Capabilities配置描通道层级的能力需求,这里直接引用    # 前面Capabilities配置段中的ChannelCapabilities配置项    Capabilities:        <<: *ChannelCapabilities

Application / 应用配置

Application配置段用来定义要写入创世区块或配置交易的应用参数。

Application: &ApplicationDefaults    ACLs: &ACLsDefault        # ACLs配置段为系统中各种资源提供默认的策略。        # 这里所说的"资源",可以是系统链码的函数,例如qscc系统链码的GetBlockByNumber方法        # 也可以是其他资源,例如谁可以接收区块事件。        # 这个配置段不是用来定义资源或API,而仅仅是定义资源的访问控制策略        #         # 用户可以在通道定义中重写这些默认策略        #---New Lifecycle System Chaincode (_lifecycle) function to policy mapping for access control--#        # _lifecycle系统链码CommitChaincodeDefinition函数的ACL定义        _lifecycle/CommitChaincodeDefinition: /Channel/Application/Writers        # _lifecycle系统链码的QueryChaincodeDefinition函数的ACL定义        _lifecycle/QueryChaincodeDefinition: /Channel/Application/Readers        # _lifecycle系统链码的QueryNamespaceDefinitions函数的ACL定义        _lifecycle/QueryNamespaceDefinitions: /Channel/Application/Readers        #---Lifecycle System Chaincode (lscc) function to policy mapping for access control---#        # lscc系统链码的getid函数的ACL定义        lscc/ChaincodeExists: /Channel/Application/Readers        # lscc系统链码的getdepspec函数的ACL定义        lscc/GetDeploymentSpec: /Channel/Application/Readers        # lscc系统链码的getccdata函数的ACL定义        lscc/GetChaincodeData: /Channel/Application/Readers        # lscc系统链码的getchaincodes函数的ACL定义        lscc/GetInstantiatedChaincodes: /Channel/Application/Readers        #---Query System Chaincode (qscc) function to policy mapping for access control---#        # qscc系统链码的GetChainInfo函数的ACL定义        qscc/GetChainInfo: /Channel/Application/Readers        # qscc系统链码的GetBlockByNumber函数的ACL定义        qscc/GetBlockByNumber: /Channel/Application/Readers        # qscc系统 链码的GetBlockByHash函数的ACL定义        qscc/GetBlockByHash: /Channel/Application/Readers        # qscc系统链码的GetTransactionByID函数的ACL定义        qscc/GetTransactionByID: /Channel/Application/Readers        # qscc系统链码GetBlockByTxID函数的ACL定义        qscc/GetBlockByTxID: /Channel/Application/Readers        #---Configuration System Chaincode (cscc) function to policy mapping for access control---#        # cscc系统链码的GetConfigBlock函数的ACl定义        cscc/GetConfigBlock: /Channel/Application/Readers        # cscc系统链码的GetConfigTree函数的ACL定义        cscc/GetConfigTree: /Channel/Application/Readers        # cscc系统链码的SimulateConfigTreeUpdate函数的ACL定义        cscc/SimulateConfigTreeUpdate: /Channel/Application/Readers        #---Miscellanesous peer function to policy mapping for access control---#        # 访问对等节点上的链码的ACL策略定义        peer/Propose: /Channel/Application/Writers        # 从链码中访问其他链码的ACL策略定义        peer/ChaincodeToChaincode: /Channel/Application/Readers        #---Events resource to policy mapping for access control###---#        # 发送区块事件的ACL策略定义        event/Block: /Channel/Application/Readers        # 发送过滤的区块事件的ACL策略定义        event/FilteredBlock: /Channel/Application/Readers    # Organizations配置列出参与到网络中的机构清单    Organizations:    # 定义本层级的应用控制策略,其权威路径为 /Channel/Application/    Policies: &ApplicationDefaultPolicies        Readers:            Type: ImplicitMeta            Rule: "ANY Readers"        Writers:            Type: ImplicitMeta            Rule: "ANY Writers"        Admins:            Type: ImplicitMeta            Rule: "MAJORITY Admins"        LifecycleEndorsement:            Type: ImplicitMeta            Rule: "ANY Endorsement"        Endorsement:            Type: ImplicitMeta            Rule: "ANY Endorsement"    # Capabilities配置描述应用层级的能力需求,这里直接引用    # 前面Capabilities配置段中的ApplicationCapabilities配置项    Capabilities:        <<: *ApplicationCapabilities

Profiles / 配置入口

Profiles配置段用来定义用于configtxgen工具的配置入口。包含委员会(consortium)的配置入口可以用来生成排序节点的创世区块。如果在排序节点的创世区块中正确定义了consortium的成员,那么可以仅使用机构成员名称和委员会的名称来生成通道创建请求。

Profiles:    # SampleInsecureSolo定义了一个使用Solo排序节点的简单配置    SampleInsecureSolo:        <<: *ChannelDefaults        Orderer:            <<: *OrdererDefaults            Organizations:                - *ExampleCom            Capabilities:                <<: *OrdererCapabilities        Application:            <<: *ApplicationDefaults            Organizations:                - *ExampleCom            Capabilities:                <<: *ApplicationCapabilities            Policies:                Readers:                  Type: ImplicitMeta                  Rule: ANY Readers                Writers:                  Type: ImplicitMeta                  Rule: ANY Writers                Admins:                  Type: ImplicitMeta                  Rule: MAJORITY Admins                LifecycleEndorsement:                  Type: ImplicitMeta                  Rule: ANY Endorsement                Endorsement:                  Type: ImplicitMeta                  Rule: ANY Endorsement        Consortiums:            SampleConsortium:                Organizations:                    - *Org1ExampleCom                    - *Org2ExampleCom    # SampleInsecureKafka定义了一个使用Kfaka排序节点的配置    SampleInsecureKafka:        <<: *ChannelDefaults        Orderer:            <<: *OrdererDefaults            OrdererType: kafka            Addresses:                - orderer0.example.com:7050                - orderer1.example.com:7050                - orderer2.example.com:7050            Organizations:                - *ExampleCom            Capabilities:                <<: *OrdererCapabilities        Application:            <<: *ApplicationDefaults            Organizations:                - *ExampleCom            Capabilities:                <<: *ApplicationCapabilities            Policies:                Readers:                  Type: ImplicitMeta                  Rule: ANY Readers                Writers:                  Type: ImplicitMeta                  Rule: ANY Writers                Admins:                  Type: ImplicitMeta                  Rule: MAJORITY Admins                LifecycleEndorsement:                  Type: ImplicitMeta                  Rule: ANY Endorsement                Endorsement:                  Type: ImplicitMeta                  Rule: ANY Endorsement        Consortiums:            SampleConsortium:                Organizations:                    - *ExampleCom                    - *Org1ExampleCom                    - *Org2ExampleCom    # SampleSingleMSPSolo定义了一个使用Solo排序节点、包含单一MSP的配置    SampleSingleMSPSolo:        Orderer:            <<: *OrdererDefaults            Organizations:                - *ExampleCom            Capabilities:                <<: *OrdererCapabilities        Application:            <<: *ApplicationDefaults            Organizations:                - *ExampleCom            Capabilities:                <<: *ApplicationCapabilities            Policies:                Readers:                  Type: ImplicitMeta                  Rule: ANY Readers                Writers:                  Type: ImplicitMeta                  Rule: ANY Writers                Admins:                  Type: ImplicitMeta                  Rule: MAJORITY Admins                LifecycleEndorsement:                  Type: ImplicitMeta                  Rule: ANY Endorsement                Endorsement:                  Type: ImplicitMeta                  Rule: ANY Endorsement        Consortiums:            SampleConsortium:                Organizations:                    - *ExampleCom                    - *Org1ExampleCom                    - *Org2ExampleCom    # SampleEmptyInsecureChannel定义了一个不包含成员与访问控制策略的通道    SampleEmptyInsecureChannel:        Capabilities:            <<: *ChannelCapabilities        Consortium: SampleConsortium        Application:            Organizations:                - *ExampleCom            Capabilities:                <<: *ApplicationCapabilities            Policies:                Readers:                  Type: ImplicitMeta                  Rule: ANY Readers                Writers:                  Type: ImplicitMeta                  Rule: ANY Writers                Admins:                  Type: ImplicitMeta                  Rule: MAJORITY Admins                LifecycleEndorsement:                  Type: ImplicitMeta                  Rule: ANY Endorsement                Endorsement:                  Type: ImplicitMeta                  Rule: ANY Endorsement    # SysTestChannel定义了一个用于测试的通道    SysTestChannel:        <<: *ChannelDefaults        Capabilities:            <<: *ChannelCapabilities        Consortium: SampleConsortium        Application:            <<: *ApplicationDefaults            Organizations:                - *Org1ExampleCom                - *Org2ExampleCom            Capabilities:                <<: *ApplicationCapabilities            Policies:                Readers:                  Type: ImplicitMeta                  Rule: ANY Readers                Writers:                  Type: ImplicitMeta                  Rule: ANY Writers                Admins:                  Type: ImplicitMeta                  Rule: MAJORITY Admins                LifecycleEndorsement:                  Type: ImplicitMeta                  Rule: ANY Endorsement                Endorsement:                  Type: ImplicitMeta                  Rule: ANY Endorsement    # SampleSingleMSPChannel定义了一个仅包含单一成员机构的通道。    # 该配置通常与SampleSingleMSPSolo或SampleSingleMSPKafka同时使用    SampleSingleMSPChannel:        <<: *ChannelDefaults        Capabilities:            <<: *ChannelCapabilities        Consortium: SampleConsortium        Application:            <<: *ApplicationDefaults            Organizations:                - *Org1ExampleCom                - *Org2ExampleCom            Capabilities:                <<: *ApplicationCapabilities            Policies:                Readers:                  Type: ImplicitMeta                  Rule: ANY Readers                Writers:                  Type: ImplicitMeta                  Rule: ANY Writers                Admins:                  Type: ImplicitMeta                  Rule: MAJORITY Admins                LifecycleEndorsement:                  Type: ImplicitMeta                  Rule: ANY Endorsement                Endorsement:                  Type: ImplicitMeta                  Rule: ANY Endorsement

以上是"Fabric区块链网络运维工具configtxgen配置文件的示例分析"这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注行业资讯频道!

配置 节点 系统 函数 排序 通道 区块 策略 能力 网络 层级 交易 对等 应用 机构 程序 版本 资源 工具 文件 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 政府机关招收网络安全人员吗 育企秀互联网科技公司 玉林网络安全支队梁德初 审计过程中最常见的三种数据库 数据库大数据属于什么技术 关于网络安全的小报 简单漂亮 北京品质网络技术咨询 厦门市睿游网络技术有限公 杭州钱皇网络技术有限公司 软件开发计划要每天吗 巴南区天气预报软件开发 代办网络技术公司 罗湖区服务器机柜批发 我的世界小本创建的是什么服务器 企业网络安全自查情况报告 未转变者服务器怎么设置死亡不掉 计算机网络技术和信息技术 服务器端python 浙江惠普服务器虚拟化解决方案 我的世界以2110开头的服务器 服务器显示本地设备名已在使用中 怎样把数据库保存到苹果手机 使用网络技术访问网页 浙江现代软件开发注意事项 小影网络技术 科大讯飞网络安全做什么 鲲鹏服务器部署gpmall 10月13日是网络安全 iot软件开发用什么编程语言 vs中如何导入新的数据库
0