Hyperledger Fabric 应用实战(5)-- 通道配置文件configtx.yaml

1.简介

configtx.yaml用来配置通道,以定于各项通道行为,其中包括了全局配置、排序配置、应用配置等多个层级。

fabric可以使用配置交易来管理网络中配置,配置交易和普通交易一样在通道中共识,完成对通道配置的更新。fabric提供了configtxgen工具生成和管理这些配置交易。

configtx.yaml中涉及语法

符号 含义
<< 合并到当前数据
- 数组
* 别名
& 锚点 (方便引用)

2. 官方示例configtx.yaml分析

配置文件包含了Organizations、Capabilities、Channel、Orderer、Application、Profiles

2.1 Organizations 部分

组织的结构定义,包括名称、MSP路径、读写管理权限、锚节点等,可被Profiles等部分引用。

# 官方提供了一个简单模板
Organizations:
    # 组织类型
    - &SampleOrg
        # 组织名称
        Name: SampleOrg    
        # 在创建新通道时是否从系统通道内继承该组织,configtxgen会忽略从本地读取。 
        SkipAsForeign: false
        # MSPID
        ID: SampleOrg
        # MSP文件路径
        MSPDir: msp

        #   /Channel/<Application|Orderer>/<OrgName>/<PolicyName>
        # 定义本层级的组织策略
        Policies: &SampleOrgPolicies
            Readers:    
                Type: Signature
                Rule: "OR('SampleOrg.member')"
               
                #如果MSP配置了新的NodeOU,您可能需要使用一个更具体的规则,
                # 如下所示:规则:“OR('SampleOrg.admin','SampleOrg.peer','SimpleOrg.client')”
            Writers:
                Type: Signature
                Rule: "OR('SampleOrg.member')"
               
            Admins:   # 管理角色
                Type: Signature
                Rule: "OR('SampleOrg.admin')"
            Endorsement:   # 背书角色
                Type: Signature
                Rule: "OR('SampleOrg.member')"

        OrdererEndpoints:  # 排序节点地址列表
            - "127.0.0.1:7050"

        # 锚节点的定义,用来跨组织通信。
        # 注意:仅在使用“configtxgen--outputAnchorPeersUpdate”命令时才应设置此值。
        # 建议改为使用channel配置更新过程为每个组织设置锚对等点。(configtxgen更新)
        AnchorPeers:
            - Host: 127.0.0.1
              Port: 7051

2.2 Capabilities 部分

Capabilities通过引用定义了一系列网络特性,不同版本要求版本不一样,直接官方示例配置拉取无需更改。

Capabilities:
    # 通道capabilities适用于orderers和peers,并且两者都必须支持。
    # 将该配置项设置为ture表明要求节点具备该能力。
    Channel: &ChannelCapabilities
        # V2_0 能力确保orderers和peers按照 v2.0 通道capabilities行事。 来自先前版本的 
        # orderers和peers的行为方式不兼容,因此无法以 v2.0 的capabilities参与通道。在启用 
        # V2.0 通道capabilities之前,请确保通道上的所有订购者和对等方都处于 v2.0.0 或更高版本
        V2_0: true
    # 仅适用于orderers 并且可以安全地与先前版本的peers一起使用。
    Orderer: &OrdererCapabilities
        V2_0: true
    #  应用程序功能仅适用于peer网络,并且可以安全地与先前发布的orderer一起使用。
    Application: &ApplicationCapabilities
        V2_0: true

2.3 Application 部分

Application: &ApplicationDefaults
    ACLs: &ACLsDefault

        #本节提供系统中各种资源的策略的默认值。
        #这些“资源”可以是系统链码上的函数(例如,“qscc”系统链码中的“GetBlockByNumber”)或其他资源(例如,可以接收块事件的资源)。
        # 本节不指定资源的定义或API,只指定其ACL策略。
        # 用户可以通过在其通道定义中的ACL下定义映射,使用自己的策略映射覆盖这些默认值
       
        #指定新的_lifecycle系统链码的提交、查询方法的默认策略
        _lifecycle/CheckCommitReadiness: /Channel/Application/Writers
        _lifecycle/CommitChaincodeDefinition: /Channel/Application/Writers
        _lifecycle/QueryChaincodeDefinition: /Channel/Application/Writers
        _lifecycle/QueryChaincodeDefinitions: /Channel/Application/Writers

        # LSCC方法调用权限   1.x版本生命周期系统链码(LSCC)
        lscc/ChaincodeExists: /Channel/Application/Readers
        lscc/GetDeploymentSpec: /Channel/Application/Readers
        lscc/GetChaincodeData: /Channel/Application/Readers
        lscc/GetInstantiatedChaincodes: /Channel/Application/Readers
        
        # QSCC方法调用权限 查询系统链码(QSCC)
        # 根据通道名称获取最新的区块链信息
  
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值