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