Hyperledger fabric 为RAFT应用程序通道设置订购者子集

Hyperledger fabric 为RAFT应用程序通道设置订购者子集,hyperledger-fabric,raft,Hyperledger Fabric,Raft,我正在尝试使用fabric示例中的first network创建应用程序通道 我正在创建部署以运行在集群中运行的4个订购节点。以下是用于在configtx.yaml文件中创建Orderer Genesis块的配置文件部分 我正在使用默认的byfn.sh脚本启动网络 但当我尝试使用Order4 envrionment从cli容器中获取应用程序通道配置块时,我仍然能够成功地将其解码为JSON文件,我可以看到,所有4个订购者都是应用程序通道的“同意者”部分的一部分,并且每个订购者的地址都显示在“订购者

我正在尝试使用fabric示例中的first network创建应用程序通道

我正在创建部署以运行在集群中运行的4个订购节点。以下是用于在configtx.yaml文件中创建Orderer Genesis块的配置文件部分

我正在使用默认的byfn.sh脚本启动网络

但当我尝试使用Order4 envrionment从cli容器中获取应用程序通道配置块时,我仍然能够成功地将其解码为JSON文件,我可以看到,所有4个订购者都是应用程序通道的“同意者”部分的一部分,并且每个订购者的地址都显示在“订购者地址”部分中


那么,为什么应用程序通道不从前3个订购者开始,尽管只提供了这些订购者作为同意者?

通道创建命令中必须包含-channelCreateTxBaseProfile参数,并且该参数的值将是订购者genesis配置文件名称SampleMultiNodeEtcdRaft

此外,尝试执行对等通道创建命令的标识必须满足以下ACL:/channel/order/ConsensusType,默认情况下,该ACL设置为以下策略:/channel/Application/Admins

SampleMultiNodeEtcdRaft
    <<: *ChannelDefaults
    Capabilities:
    <<: *ChannelCapabilities
    Orderer:
        <<: *OrdererDefaults
        OrdererType: etcdraft
        EtcdRaft:
            Consenters:
            - Host: orderer.example.com
              Port: 7050
              ClientTLSCert: crypto-config/ordererOrganizations/example.com/orderers/orderer.example.com/tls/server.crt
              ServerTLSCert: crypto-config/ordererOrganizations/example.com/orderers/orderer.example.com/tls/server.crt
            - Host: orderer2.example.com
              Port: 8050
              ClientTLSCert: crypto-config/ordererOrganizations/example.com/orderers/orderer2.example.com/tls/server.crt
              ServerTLSCert: crypto-config/ordererOrganizations/example.com/orderers/orderer2.example.com/tls/server.crt
            - Host: orderer3.example.com
              Port: 9050
              ClientTLSCert: crypto-config/ordererOrganizations/example.com/orderers/orderer3.example.com/tls/server.crt
              ServerTLSCert: crypto-config/ordererOrganizations/example.com/orderers/orderer3.example.com/tls/server.crt
            - Host: orderer4.example.com
              Port: 10050
              ClientTLSCert: crypto-config/ordererOrganizations/example.com/orderers/orderer4.example.com/tls/server.crt
              ServerTLSCert: crypto-config/ordererOrganizations/example.com/orderers/orderer4.example.com/tls/server.crt
        Addresses:
            - orderer.example.com:7050
            - orderer2.example.com:8050
            - orderer3.example.com:9050
            - orderer4.example.com:10050
        Organizations:
        - *OrdererOrg
        Capabilities:
            <<: *OrdererCapabilities
    Application:
        <<: *ApplicationDefaults
        Organizations:
        - <<: *OrdererOrg
    Consortiums:
        SampleConsortium:
            Organizations:
            - *Org1
            - *Org2
TwoOrgsChannel:
    Consortium: SampleConsortium
    <<: *ChannelDefaults
    Capabilities:
        <<: *ChannelCapabilities
    Orderer:
        <<: *OrdererDefaults
        OrdererType: etcdraft
        EtcdRaft:
            Consenters:
            - Host: orderer.example.com
              Port: 7050
              ClientTLSCert: crypto-config/ordererOrganizations/example.com/orderers/orderer.example.com/tls/server.crt
              ServerTLSCert: crypto-config/ordererOrganizations/example.com/orderers/orderer.example.com/tls/server.crt
            - Host: orderer2.example.com
              Port: 8050
              ClientTLSCert: crypto-config/ordererOrganizations/example.com/orderers/orderer2.example.com/tls/server.crt
              ServerTLSCert: crypto-config/ordererOrganizations/example.com/orderers/orderer2.example.com/tls/server.crt
            - Host: orderer3.example.com
              Port: 9050
              ClientTLSCert: crypto-config/ordererOrganizations/example.com/orderers/orderer3.example.com/tls/server.crt
              ServerTLSCert: crypto-config/ordererOrganizations/example.com/orderers/orderer3.example.com/tls/server.crt
        Addresses:
            - orderer.example.com:7050
            - orderer2.example.com:8050
            - orderer3.example.com:9050
        Organizations:
            - *OrdererOrg
        Capabilities:
            <<: *OrdererCapabilities
    Application:
        <<: *ApplicationDefaults
        Organizations:
            - *Org1
            - *Org2
        Capabilities:
            <<: *ApplicationCapabilities