github.com/hechain20/hechain@v0.0.0-20220316014945-b544036ba106/sampleconfig/configtx.yaml (about)

     1  # Copyright hechain. All Rights Reserved.
     2  #
     3  # SPDX-License-Identifier: Apache-2.0
     4  #
     5  
     6  ---
     7  ################################################################################
     8  #
     9  #   ORGANIZATIONS
    10  #
    11  #   This section defines the organizational identities that can be referenced
    12  #   in the configuration profiles.
    13  #
    14  ################################################################################
    15  Organizations:
    16  
    17      # SampleOrg defines an MSP using the sampleconfig. It should never be used
    18      # in production but may be used as a template for other definitions.
    19      - &SampleOrg
    20          # Name is the key by which this org will be referenced in channel
    21          # configuration transactions.
    22          # Name can include alphanumeric characters as well as dots and dashes.
    23          Name: SampleOrg
    24  
    25          # SkipAsForeign can be set to true for org definitions which are to be
    26          # inherited from the orderer system channel during channel creation.  This
    27          # is especially useful when an admin of a single org without access to the
    28          # MSP directories of the other orgs wishes to create a channel.  Note
    29          # this property must always be set to false for orgs included in block
    30          # creation.
    31          SkipAsForeign: false
    32  
    33          # ID is the key by which this org's MSP definition will be referenced.
    34          # ID can include alphanumeric characters as well as dots and dashes.
    35          ID: SampleOrg
    36  
    37          # MSPDir is the filesystem path which contains the MSP configuration.
    38          MSPDir: msp
    39  
    40          # Policies defines the set of policies at this level of the config tree
    41          # For organization policies, their canonical path is usually
    42          #   /Channel/<Application|Orderer>/<OrgName>/<PolicyName>
    43          Policies: &SampleOrgPolicies
    44              Readers:
    45                  Type: Signature
    46                  Rule: "OR('SampleOrg.member')"
    47                  # If your MSP is configured with the new NodeOUs, you might
    48                  # want to use a more specific rule like the following:
    49                  # Rule: "OR('SampleOrg.admin', 'SampleOrg.peer', 'SampleOrg.client')"
    50              Writers:
    51                  Type: Signature
    52                  Rule: "OR('SampleOrg.member')"
    53                  # If your MSP is configured with the new NodeOUs, you might
    54                  # want to use a more specific rule like the following:
    55                  # Rule: "OR('SampleOrg.admin', 'SampleOrg.client')"
    56              Admins:
    57                  Type: Signature
    58                  Rule: "OR('SampleOrg.admin')"
    59              Endorsement:
    60                  Type: Signature
    61                  Rule: "OR('SampleOrg.member')"
    62  
    63          # OrdererEndpoints is a list of all orderers this org runs which clients
    64          # and peers may to connect to to push transactions and receive blocks respectively.
    65          OrdererEndpoints:
    66              - "127.0.0.1:7050"
    67  
    68          # AnchorPeers defines the location of peers which can be used for
    69          # cross-org gossip communication.
    70          #
    71          # NOTE: this value should only be set when using the deprecated
    72          # `configtxgen --outputAnchorPeersUpdate` command. It is recommended
    73          # to instead use the channel configuration update process to set the
    74          # anchor peers for each organization.
    75          AnchorPeers:
    76              - Host: 127.0.0.1
    77                Port: 7051
    78  
    79  ################################################################################
    80  #
    81  #   CAPABILITIES
    82  #
    83  #   This section defines the capabilities of fabric network. This is a new
    84  #   concept as of v1.1.0 and should not be utilized in mixed networks with
    85  #   v1.0.x peers and orderers.  Capabilities define features which must be
    86  #   present in a fabric binary for that binary to safely participate in the
    87  #   fabric network.  For instance, if a new MSP type is added, newer binaries
    88  #   might recognize and validate the signatures from this type, while older
    89  #   binaries without this support would be unable to validate those
    90  #   transactions.  This could lead to different versions of the fabric binaries
    91  #   having different world states.  Instead, defining a capability for a channel
    92  #   informs those binaries without this capability that they must cease
    93  #   processing transactions until they have been upgraded.  For v1.0.x if any
    94  #   capabilities are defined (including a map with all capabilities turned off)
    95  #   then the v1.0.x peer will deliberately crash.
    96  #
    97  ################################################################################
    98  Capabilities:
    99      # Channel capabilities apply to both the orderers and the peers and must be
   100      # supported by both.
   101      # Set the value of the capability to true to require it.
   102      Channel: &ChannelCapabilities
   103          # V2.0 for Channel is a catchall flag for behavior which has been
   104          # determined to be desired for all orderers and peers running at the v2.0.0
   105          # level, but which would be incompatible with orderers and peers from
   106          # prior releases.
   107          # Prior to enabling V2.0 channel capabilities, ensure that all
   108          # orderers and peers on a channel are at v2.0.0 or later.
   109          V2_0: true
   110  
   111      # Orderer capabilities apply only to the orderers, and may be safely
   112      # used with prior release peers.
   113      # Set the value of the capability to true to require it.
   114      Orderer: &OrdererCapabilities
   115          # V1.1 for Orderer is a catchall flag for behavior which has been
   116          # determined to be desired for all orderers running at the v1.1.x
   117          # level, but which would be incompatible with orderers from prior releases.
   118          # Prior to enabling V2.0 orderer capabilities, ensure that all
   119          # orderers on a channel are at v2.0.0 or later.
   120          V2_0: true
   121  
   122      # Application capabilities apply only to the peer network, and may be safely
   123      # used with prior release orderers.
   124      # Set the value of the capability to true to require it.
   125      Application: &ApplicationCapabilities
   126          # V2.0 for Application enables the new non-backwards compatible
   127          # features and fixes of fabric v2.0.
   128          # Prior to enabling V2.0 orderer capabilities, ensure that all
   129          # orderers on a channel are at v2.0.0 or later.
   130          V2_0: true
   131  
   132  ################################################################################
   133  #
   134  #   APPLICATION
   135  #
   136  #   This section defines the values to encode into a config transaction or
   137  #   genesis block for application-related parameters.
   138  #
   139  ################################################################################
   140  Application: &ApplicationDefaults
   141      ACLs: &ACLsDefault
   142          # This section provides defaults for policies for various resources
   143          # in the system. These "resources" could be functions on system chaincodes
   144          # (e.g., "GetBlockByNumber" on the "qscc" system chaincode) or other resources
   145          # (e.g.,who can receive Block events). This section does NOT specify the resource's
   146          # definition or API, but just the ACL policy for it.
   147          #
   148          # Users can override these defaults with their own policy mapping by defining the
   149          # mapping under ACLs in their channel definition
   150  
   151          #---New Lifecycle System Chaincode (_lifecycle) function to policy mapping for access control--#
   152  
   153          # ACL policy for _lifecycle's "CheckCommitReadiness" function
   154          _lifecycle/CheckCommitReadiness: /Channel/Application/Writers
   155  
   156          # ACL policy for _lifecycle's "CommitChaincodeDefinition" function
   157          _lifecycle/CommitChaincodeDefinition: /Channel/Application/Writers
   158  
   159          # ACL policy for _lifecycle's "QueryChaincodeDefinition" function
   160          _lifecycle/QueryChaincodeDefinition: /Channel/Application/Writers
   161  
   162          # ACL policy for _lifecycle's "QueryChaincodeDefinitions" function
   163          _lifecycle/QueryChaincodeDefinitions: /Channel/Application/Writers
   164  
   165          #---Lifecycle System Chaincode (lscc) function to policy mapping for access control---#
   166  
   167          # ACL policy for lscc's "getid" function
   168          lscc/ChaincodeExists: /Channel/Application/Readers
   169  
   170          # ACL policy for lscc's "getdepspec" function
   171          lscc/GetDeploymentSpec: /Channel/Application/Readers
   172  
   173          # ACL policy for lscc's "getccdata" function
   174          lscc/GetChaincodeData: /Channel/Application/Readers
   175  
   176          # ACL Policy for lscc's "getchaincodes" function
   177          lscc/GetInstantiatedChaincodes: /Channel/Application/Readers
   178  
   179          #---Query System Chaincode (qscc) function to policy mapping for access control---#
   180  
   181          # ACL policy for qscc's "GetChainInfo" function
   182          qscc/GetChainInfo: /Channel/Application/Readers
   183  
   184          # ACL policy for qscc's "GetBlockByNumber" function
   185          qscc/GetBlockByNumber: /Channel/Application/Readers
   186  
   187          # ACL policy for qscc's  "GetBlockByHash" function
   188          qscc/GetBlockByHash: /Channel/Application/Readers
   189  
   190          # ACL policy for qscc's "GetTransactionByID" function
   191          qscc/GetTransactionByID: /Channel/Application/Readers
   192  
   193          # ACL policy for qscc's "GetBlockByTxID" function
   194          qscc/GetBlockByTxID: /Channel/Application/Readers
   195  
   196          #---Configuration System Chaincode (cscc) function to policy mapping for access control---#
   197  
   198          # ACL policy for cscc's "GetConfigBlock" function
   199          cscc/GetConfigBlock: /Channel/Application/Readers
   200  
   201          # ACL policy for cscc's "GetChannelConfig" function
   202          cscc/GetChannelConfig: /Channel/Application/Readers
   203  
   204          #---Miscellaneous peer function to policy mapping for access control---#
   205  
   206          # ACL policy for invoking chaincodes on peer
   207          peer/Propose: /Channel/Application/Writers
   208  
   209          # ACL policy for chaincode to chaincode invocation
   210          peer/ChaincodeToChaincode: /Channel/Application/Writers
   211  
   212          #---Events resource to policy mapping for access control###---#
   213  
   214          # ACL policy for sending block events
   215          event/Block: /Channel/Application/Readers
   216  
   217          # ACL policy for sending filtered block events
   218          event/FilteredBlock: /Channel/Application/Readers
   219  
   220      # Organizations lists the orgs participating on the application side of the
   221      # network.
   222      Organizations:
   223  
   224      # Policies defines the set of policies at this level of the config tree
   225      # For Application policies, their canonical path is
   226      #   /Channel/Application/<PolicyName>
   227      Policies: &ApplicationDefaultPolicies
   228          LifecycleEndorsement:
   229              Type: ImplicitMeta
   230              Rule: "MAJORITY Endorsement"
   231          Endorsement:
   232              Type: ImplicitMeta
   233              Rule: "MAJORITY Endorsement"
   234          Readers:
   235              Type: ImplicitMeta
   236              Rule: "ANY Readers"
   237          Writers:
   238              Type: ImplicitMeta
   239              Rule: "ANY Writers"
   240          Admins:
   241              Type: ImplicitMeta
   242              Rule: "MAJORITY Admins"
   243  
   244      # Capabilities describes the application level capabilities, see the
   245      # dedicated Capabilities section elsewhere in this file for a full
   246      # description
   247      Capabilities:
   248          <<: *ApplicationCapabilities
   249  
   250  ################################################################################
   251  #
   252  #   ORDERER
   253  #
   254  #   This section defines the values to encode into a config transaction or
   255  #   genesis block for orderer related parameters.
   256  #
   257  ################################################################################
   258  Orderer: &OrdererDefaults
   259  
   260      # Orderer Type: The orderer implementation to start.
   261      # Available types are "solo", "kafka" and "etcdraft".
   262      OrdererType: solo
   263  
   264      # Addresses used to be the list of orderer addresses that clients and peers
   265      # could connect to.  However, this does not allow clients to associate orderer
   266      # addresses and orderer organizations which can be useful for things such
   267      # as TLS validation.  The preferred way to specify orderer addresses is now
   268      # to include the OrdererEndpoints item in your org definition
   269      Addresses:
   270          # - 127.0.0.1:7050
   271  
   272      # Batch Timeout: The amount of time to wait before creating a batch.
   273      BatchTimeout: 2s
   274  
   275      # Batch Size: Controls the number of messages batched into a block.
   276      # The orderer views messages opaquely, but typically, messages may
   277      # be considered to be Fabric transactions.  The 'batch' is the group
   278      # of messages in the 'data' field of the block.  Blocks will be a few kb
   279      # larger than the batch size, when signatures, hashes, and other metadata
   280      # is applied.
   281      BatchSize:
   282  
   283          # Max Message Count: The maximum number of messages to permit in a
   284          # batch.  No block will contain more than this number of messages.
   285          MaxMessageCount: 500
   286  
   287          # Absolute Max Bytes: The absolute maximum number of bytes allowed for
   288          # the serialized messages in a batch. The maximum block size is this value
   289          # plus the size of the associated metadata (usually a few KB depending
   290          # upon the size of the signing identities). Any transaction larger than
   291          # this value will be rejected by ordering.
   292          # It is recommended not to exceed 49 MB, given the default grpc max message size of 100 MB
   293          # configured on orderer and peer nodes (and allowing for message expansion during communication).
   294          AbsoluteMaxBytes: 10 MB
   295  
   296          # Preferred Max Bytes: The preferred maximum number of bytes allowed
   297          # for the serialized messages in a batch. Roughly, this field may be considered
   298          # the best effort maximum size of a batch. A batch will fill with messages
   299          # until this size is reached (or the max message count, or batch timeout is
   300          # exceeded).  If adding a new message to the batch would cause the batch to
   301          # exceed the preferred max bytes, then the current batch is closed and written
   302          # to a block, and a new batch containing the new message is created.  If a
   303          # message larger than the preferred max bytes is received, then its batch
   304          # will contain only that message.  Because messages may be larger than
   305          # preferred max bytes (up to AbsoluteMaxBytes), some batches may exceed
   306          # the preferred max bytes, but will always contain exactly one transaction.
   307          PreferredMaxBytes: 2 MB
   308  
   309      # Max Channels is the maximum number of channels to allow on the ordering
   310      # network. When set to 0, this implies no maximum number of channels.
   311      MaxChannels: 0
   312  
   313      Kafka:
   314          # Brokers: A list of Kafka brokers to which the orderer connects. Edit
   315          # this list to identify the brokers of the ordering service.
   316          # NOTE: Use IP:port notation.
   317          Brokers:
   318              - kafka0:9092
   319              - kafka1:9092
   320              - kafka2:9092
   321  
   322      # EtcdRaft defines configuration which must be set when the "etcdraft"
   323      # orderertype is chosen.
   324      EtcdRaft:
   325          # The set of Raft replicas for this network. For the etcd/raft-based
   326          # implementation, we expect every replica to also be an OSN. Therefore,
   327          # a subset of the host:port items enumerated in this list should be
   328          # replicated under the Orderer.Addresses key above.
   329          Consenters:
   330              - Host: raft0.example.com
   331                Port: 7050
   332                ClientTLSCert: path/to/ClientTLSCert0
   333                ServerTLSCert: path/to/ServerTLSCert0
   334              - Host: raft1.example.com
   335                Port: 7050
   336                ClientTLSCert: path/to/ClientTLSCert1
   337                ServerTLSCert: path/to/ServerTLSCert1
   338              - Host: raft2.example.com
   339                Port: 7050
   340                ClientTLSCert: path/to/ClientTLSCert2
   341                ServerTLSCert: path/to/ServerTLSCert2
   342  
   343          # Options to be specified for all the etcd/raft nodes. The values here
   344          # are the defaults for all new channels and can be modified on a
   345          # per-channel basis via configuration updates.
   346          Options:
   347              # TickInterval is the time interval between two Node.Tick invocations.
   348              TickInterval: 500ms
   349  
   350              # ElectionTick is the number of Node.Tick invocations that must pass
   351              # between elections. That is, if a follower does not receive any
   352              # message from the leader of current term before ElectionTick has
   353              # elapsed, it will become candidate and start an election.
   354              # ElectionTick must be greater than HeartbeatTick.
   355              ElectionTick: 10
   356  
   357              # HeartbeatTick is the number of Node.Tick invocations that must
   358              # pass between heartbeats. That is, a leader sends heartbeat
   359              # messages to maintain its leadership every HeartbeatTick ticks.
   360              HeartbeatTick: 1
   361  
   362              # MaxInflightBlocks limits the max number of in-flight append messages
   363              # during optimistic replication phase.
   364              MaxInflightBlocks: 5
   365  
   366              # SnapshotIntervalSize defines number of bytes per which a snapshot is taken
   367              SnapshotIntervalSize: 16 MB
   368  
   369      # Organizations lists the orgs participating on the orderer side of the
   370      # network.
   371      Organizations:
   372  
   373      # Policies defines the set of policies at this level of the config tree
   374      # For Orderer policies, their canonical path is
   375      #   /Channel/Orderer/<PolicyName>
   376      Policies:
   377          Readers:
   378              Type: ImplicitMeta
   379              Rule: "ANY Readers"
   380          Writers:
   381              Type: ImplicitMeta
   382              Rule: "ANY Writers"
   383          Admins:
   384              Type: ImplicitMeta
   385              Rule: "MAJORITY Admins"
   386          # BlockValidation specifies what signatures must be included in the block
   387          # from the orderer for the peer to validate it.
   388          BlockValidation:
   389              Type: ImplicitMeta
   390              Rule: "ANY Writers"
   391  
   392      # Capabilities describes the orderer level capabilities, see the
   393      # dedicated Capabilities section elsewhere in this file for a full
   394      # description
   395      Capabilities:
   396          <<: *OrdererCapabilities
   397  
   398  ################################################################################
   399  #
   400  #   CHANNEL
   401  #
   402  #   This section defines the values to encode into a config transaction or
   403  #   genesis block for channel related parameters.
   404  #
   405  ################################################################################
   406  Channel: &ChannelDefaults
   407      # Policies defines the set of policies at this level of the config tree
   408      # For Channel policies, their canonical path is
   409      #   /Channel/<PolicyName>
   410      Policies:
   411          # Who may invoke the 'Deliver' API
   412          Readers:
   413              Type: ImplicitMeta
   414              Rule: "ANY Readers"
   415          # Who may invoke the 'Broadcast' API
   416          Writers:
   417              Type: ImplicitMeta
   418              Rule: "ANY Writers"
   419          # By default, who may modify elements at this config level
   420          Admins:
   421              Type: ImplicitMeta
   422              Rule: "MAJORITY Admins"
   423  
   424  
   425      # Capabilities describes the channel level capabilities, see the
   426      # dedicated Capabilities section elsewhere in this file for a full
   427      # description
   428      Capabilities:
   429          <<: *ChannelCapabilities
   430  
   431  ################################################################################
   432  #
   433  #   PROFILES
   434  #
   435  #   Different configuration profiles may be encoded here to be specified as
   436  #   parameters to the configtxgen tool. The profiles which specify consortiums
   437  #   are to be used for generating the orderer genesis block. With the correct
   438  #   consortium members defined in the orderer genesis block, channel creation
   439  #   requests may be generated with only the org member names and a consortium
   440  #   name.
   441  #
   442  ################################################################################
   443  Profiles:
   444  
   445      # SampleSingleMSPSolo defines a configuration which uses the Solo orderer,
   446      # and contains a single MSP definition (the MSP sampleconfig).
   447      # The Consortium SampleConsortium has only a single member, SampleOrg.
   448      SampleSingleMSPSolo:
   449          <<: *ChannelDefaults
   450          Orderer:
   451              <<: *OrdererDefaults
   452              Organizations:
   453                  - *SampleOrg
   454          Consortiums:
   455              SampleConsortium:
   456                  Organizations:
   457                      - *SampleOrg
   458  
   459      # SampleSingleMSPKafka defines a configuration that differs from the
   460      # SampleSingleMSPSolo one only in that it uses the Kafka-based orderer.
   461      SampleSingleMSPKafka:
   462          <<: *ChannelDefaults
   463          Orderer:
   464              <<: *OrdererDefaults
   465              OrdererType: kafka
   466              Organizations:
   467                  - *SampleOrg
   468          Consortiums:
   469              SampleConsortium:
   470                  Organizations:
   471                      - *SampleOrg
   472  
   473      # SampleInsecureSolo defines a configuration which uses the Solo orderer,
   474      # contains no MSP definitions, and allows all transactions and channel
   475      # creation requests for the consortium SampleConsortium.
   476      SampleInsecureSolo:
   477          <<: *ChannelDefaults
   478          Orderer:
   479              <<: *OrdererDefaults
   480          Consortiums:
   481              SampleConsortium:
   482                  Organizations:
   483  
   484      # SampleInsecureKafka defines a configuration that differs from the
   485      # SampleInsecureSolo one only in that it uses the Kafka-based orderer.
   486      SampleInsecureKafka:
   487          <<: *ChannelDefaults
   488          Orderer:
   489              <<: *OrdererDefaults
   490              OrdererType: kafka
   491          Consortiums:
   492              SampleConsortium:
   493                  Organizations:
   494  
   495      # SampleDevModeSolo defines a configuration which uses the Solo orderer,
   496      # contains the sample MSP as both orderer and consortium member, and
   497      # requires only basic membership for admin privileges. It also defines
   498      # an Application on the ordering system channel, which should usually
   499      # be avoided.
   500      SampleDevModeSolo:
   501          <<: *ChannelDefaults
   502          Orderer:
   503              <<: *OrdererDefaults
   504              Organizations:
   505                  - <<: *SampleOrg
   506                    Policies:
   507                        <<: *SampleOrgPolicies
   508                        Admins:
   509                            Type: Signature
   510                            Rule: "OR('SampleOrg.member')"
   511          Application:
   512              <<: *ApplicationDefaults
   513              Organizations:
   514                  - <<: *SampleOrg
   515                    Policies:
   516                        <<: *SampleOrgPolicies
   517                        Admins:
   518                            Type: Signature
   519                            Rule: "OR('SampleOrg.member')"
   520          Consortiums:
   521              SampleConsortium:
   522                  Organizations:
   523                      - <<: *SampleOrg
   524                        Policies:
   525                            <<: *SampleOrgPolicies
   526                            Admins:
   527                                Type: Signature
   528                                Rule: "OR('SampleOrg.member')"
   529  
   530      # SampleDevModeKafka defines a configuration that differs from the
   531      # SampleDevModeSolo one only in that it uses the Kafka-based orderer.
   532      SampleDevModeKafka:
   533          <<: *ChannelDefaults
   534          Orderer:
   535              <<: *OrdererDefaults
   536              OrdererType: kafka
   537              Organizations:
   538                  - <<: *SampleOrg
   539                    Policies:
   540                        <<: *SampleOrgPolicies
   541                        Admins:
   542                            Type: Signature
   543                            Rule: "OR('SampleOrg.member')"
   544          Application:
   545              <<: *ApplicationDefaults
   546              Organizations:
   547                  - <<: *SampleOrg
   548                    Policies:
   549                        <<: *SampleOrgPolicies
   550                        Admins:
   551                            Type: Signature
   552                            Rule: "OR('SampleOrg.member')"
   553          Consortiums:
   554              SampleConsortium:
   555                  Organizations:
   556                      - <<: *SampleOrg
   557                        Policies:
   558                            <<: *SampleOrgPolicies
   559                            Admins:
   560                                Type: Signature
   561                                Rule: "OR('SampleOrg.member')"
   562  
   563      # SampleSingleMSPChannel defines a channel with only the sample org as a
   564      # member. It is designed to be used in conjunction with SampleSingleMSPSolo
   565      # and SampleSingleMSPKafka orderer profiles.   Note, for channel creation
   566      # profiles, only the 'Application' section and consortium # name are
   567      # considered.
   568      SampleSingleMSPChannel:
   569          <<: *ChannelDefaults
   570          Consortium: SampleConsortium
   571          Application:
   572              <<: *ApplicationDefaults
   573              Organizations:
   574                  - <<: *SampleOrg
   575  
   576      # SampleDevModeEtcdRaft defines a configuration that differs from the
   577      # SampleDevModeSolo one only in that it uses the etcd/raft-based orderer.
   578      SampleDevModeEtcdRaft:
   579          <<: *ChannelDefaults
   580          Orderer:
   581              <<: *OrdererDefaults
   582              OrdererType: etcdraft
   583              Organizations:
   584                  - <<: *SampleOrg
   585                    Policies:
   586                        <<: *SampleOrgPolicies
   587                        Admins:
   588                            Type: Signature
   589                            Rule: "OR('SampleOrg.member')"
   590          Application:
   591              <<: *ApplicationDefaults
   592              Organizations:
   593                  - <<: *SampleOrg
   594                    Policies:
   595                        <<: *SampleOrgPolicies
   596                        Admins:
   597                            Type: Signature
   598                            Rule: "OR('SampleOrg.member')"
   599          Consortiums:
   600              SampleConsortium:
   601                  Organizations:
   602                      - <<: *SampleOrg
   603                        Policies:
   604                            <<: *SampleOrgPolicies
   605                            Admins:
   606                                Type: Signature
   607                                Rule: "OR('SampleOrg.member')"
   608  
   609      # SampleAppChannelInsecureSolo defines an application channel configuration
   610      # which uses the Solo orderer and contains no MSP definitions.
   611      SampleAppChannelInsecureSolo:
   612          <<: *ChannelDefaults
   613          Orderer:
   614              <<: *OrdererDefaults
   615          Application:
   616              <<: *ApplicationDefaults
   617  
   618      # SampleAppChannelEtcdRaft defines an application channel configuration
   619      # that uses the etcd/raft-based orderer.
   620      SampleAppChannelEtcdRaft:
   621          <<: *ChannelDefaults
   622          Orderer:
   623              <<: *OrdererDefaults
   624              OrdererType: etcdraft
   625              Organizations:
   626                  - <<: *SampleOrg
   627                    Policies:
   628                        <<: *SampleOrgPolicies
   629                        Admins:
   630                            Type: Signature
   631                            Rule: "OR('SampleOrg.member')"
   632          Application:
   633              <<: *ApplicationDefaults
   634              Organizations:
   635                  - <<: *SampleOrg
   636                    Policies:
   637                        <<: *SampleOrgPolicies
   638                        Admins:
   639                            Type: Signature
   640                            Rule: "OR('SampleOrg.member')"