# Copyright IBM Corp. All Rights Reserved. # # SPDX-License-Identifier: Apache-2.0 # --- ################################################################################ # # Section: Organizations # # - This section defines the different organizational identities which will # be referenced later in the configuration. # ################################################################################ Organizations: # SampleOrg defines an MSP using the sampleconfig. It should never be used # in production but may be used as a template for other definitions - &orderer # DefaultOrg defines the organization which is used in the sampleconfig # of the fabric.git development environment Name: orderer # ID to load the MSP definition as ID: orderer # MSPDir is the filesystem path which contains the MSP configuration MSPDir: crypto-config/ordererOrganizations/example.com/msp # Policies defines the set of policies at this level of the config tree # For organization policies, their canonical path is usually # /Channel/// Policies: Readers: Type: Signature Rule: "OR('orderer.member')" Writers: Type: Signature Rule: "OR('orderer.member')" Admins: Type: Signature Rule: "OR('orderer.admin')" OrdererEndpoints: - irs-orderer:7050 - &partya # DefaultOrg defines the organization which is used in the sampleconfig # of the fabric.git development environment Name: partya # ID to load the MSP definition as ID: partya MSPDir: crypto-config/peerOrganizations/partya.example.com/msp # Policies defines the set of policies at this level of the config tree # For organization policies, their canonical path is usually # /Channel/// Policies: Readers: Type: Signature Rule: OR('partya.admin', 'partya.peer', 'partya.client') Writers: Type: Signature Rule: OR('partya.admin', 'partya.client') Admins: Type: Signature Rule: OR('partya.admin') Endorsement: Type: Signature Rule: "OR('partya.peer')" # leave this flag set to true. AnchorPeers: # AnchorPeers defines the location of peers which can be used # for cross org gossip communication. Note, this value is only # encoded in the genesis block in the Application section context - Host: irs-partya Port: 7051 - &partyb # DefaultOrg defines the organization which is used in the sampleconfig # of the fabric.git development environment Name: partyb # ID to load the MSP definition as ID: partyb MSPDir: crypto-config/peerOrganizations/partyb.example.com/msp # Policies defines the set of policies at this level of the config tree # For organization policies, their canonical path is usually # /Channel/// Policies: Readers: Type: Signature Rule: OR('partyb.admin', 'partyb.peer', 'partyb.client') Writers: Type: Signature Rule: OR('partyb.admin', 'partyb.client') Admins: Type: Signature Rule: OR('partyb.admin') Endorsement: Type: Signature Rule: "OR('partyb.peer')" # leave this flag set to true. AnchorPeers: # AnchorPeers defines the location of peers which can be used # for cross org gossip communication. Note, this value is only # encoded in the genesis block in the Application section context - Host: irs-partyb Port: 7051 - &partyc # DefaultOrg defines the organization which is used in the sampleconfig # of the fabric.git development environment Name: partyc # ID to load the MSP definition as ID: partyc MSPDir: crypto-config/peerOrganizations/partyc.example.com/msp # Policies defines the set of policies at this level of the config tree # For organization policies, their canonical path is usually # /Channel/// Policies: Readers: Type: Signature Rule: "OR('partyc.admin', 'partyc.peer', 'partyc.client')" Writers: Type: Signature Rule: "OR('partyc.admin', 'partyc.client')" Admins: Type: Signature Rule: "OR('partyc.admin')" Endorsement: Type: Signature Rule: "OR('partyc.peer')" # leave this flag set to true. AnchorPeers: # AnchorPeers defines the location of peers which can be used # for cross org gossip communication. Note, this value is only # encoded in the genesis block in the Application section context - Host: irs-partyc Port: 7051 - &auditor # DefaultOrg defines the organization which is used in the sampleconfig # of the fabric.git development environment Name: auditor # ID to load the MSP definition as ID: auditor MSPDir: crypto-config/peerOrganizations/auditor.example.com/msp # Policies defines the set of policies at this level of the config tree # For organization policies, their canonical path is usually # /Channel/// Policies: Readers: Type: Signature Rule: OR('auditor.admin', 'auditor.peer', 'auditor.client') Writers: Type: Signature Rule: OR('auditor.admin', 'auditor.client') Admins: Type: Signature Rule: OR('auditor.admin') Endorsement: Type: Signature Rule: "OR('auditor.peer')" # leave this flag set to true. AnchorPeers: # AnchorPeers defines the location of peers which can be used # for cross org gossip communication. Note, this value is only # encoded in the genesis block in the Application section context - Host: irs-auditor Port: 7051 - &rrprovider # DefaultOrg defines the organization which is used in the sampleconfig # of the fabric.git development environment Name: rrprovider # ID to load the MSP definition as ID: rrprovider MSPDir: crypto-config/peerOrganizations/rrprovider.example.com/msp # Policies defines the set of policies at this level of the config tree # For organization policies, their canonical path is usually # /Channel/// Policies: Readers: Type: Signature Rule: "OR('rrprovider.admin', 'rrprovider.peer', 'rrprovider.client')" Writers: Type: Signature Rule: "OR('rrprovider.admin', 'rrprovider.client')" Admins: Type: Signature Rule: "OR('rrprovider.admin')" Endorsement: Type: Signature Rule: "OR('rrprovider.peer')" # leave this flag set to true. AnchorPeers: # AnchorPeers defines the location of peers which can be used # for cross org gossip communication. Note, this value is only # encoded in the genesis block in the Application section context - Host: irs-rrprovider Port: 7051 ################################################################################ # # SECTION: Capabilities # # - This section defines the capabilities of fabric network. This is a new # concept as of v1.1.0 and should not be utilized in mixed networks with # v1.0.x peers and orderers. Capabilities define features which must be # present in a fabric binary for that binary to safely participate in the # fabric network. For instance, if a new MSP type is added, newer binaries # might recognize and validate the signatures from this type, while older # binaries without this support would be unable to validate those # transactions. This could lead to different versions of the fabric binaries # having different world states. Instead, defining a capability for a channel # informs those binaries without this capability that they must cease # processing transactions until they have been upgraded. For v1.0.x if any # capabilities are defined (including a map with all capabilities turned off) # then the v1.0.x peer will deliberately crash. # ################################################################################ Capabilities: # Channel capabilities apply to both the orderers and the peers and must be # supported by both. # Set the value of the capability to true to require it. Channel: &ChannelCapabilities # V2_0 capability ensures that orderers and peers behave according # to v2.0 channel capabilities. Orderers and peers from # prior releases would behave in an incompatible way, and are therefore # not able to participate in channels at v2.0 capability. # Prior to enabling V2.0 channel capabilities, ensure that all # orderers and peers on a channel are at v2.0.0 or later. V2_0: true # Orderer capabilities apply only to the orderers, and may be safely # used with prior release peers. # Set the value of the capability to true to require it. Orderer: &OrdererCapabilities # V2_0 orderer capability ensures that orderers behave according # to v2.0 orderer capabilities. Orderers from # prior releases would behave in an incompatible way, and are therefore # not able to participate in channels at v2.0 orderer capability. # Prior to enabling V2.0 orderer capabilities, ensure that all # orderers on channel are at v2.0.0 or later. V2_0: true # Application capabilities apply only to the peer network, and may be safely # used with prior release orderers. # Set the value of the capability to true to require it. Application: &ApplicationCapabilities # V2_0 application capability ensures that peers behave according # to v2.0 application capabilities. Peers from # prior releases would behave in an incompatible way, and are therefore # not able to participate in channels at v2.0 application capability. # Prior to enabling V2.0 application capabilities, ensure that all # peers on channel are at v2.0.0 or later. V2_0: true ################################################################################ # # SECTION: Application # # - This section defines the values to encode into a config transaction or # genesis block for application related parameters # ################################################################################ Application: &ApplicationDefaults # Organizations is the list of orgs which are defined as participants on # the application side of the network Organizations: # Policies defines the set of policies at this level of the config tree # For Application policies, their canonical path is # /Channel/Application/ Policies: Readers: Type: ImplicitMeta Rule: "ANY Readers" Writers: Type: ImplicitMeta Rule: "ANY Writers" Admins: Type: ImplicitMeta Rule: "MAJORITY Admins" LifecycleEndorsement: Type: ImplicitMeta Rule: "MAJORITY Endorsement" Endorsement: Type: ImplicitMeta Rule: "MAJORITY Endorsement" Capabilities: <<: *ApplicationCapabilities ################################################################################ # # SECTION: Orderer # # - This section defines the values to encode into a config transaction or # genesis block for orderer related parameters # ################################################################################ Orderer: &OrdererDefaults # Orderer Type: The orderer implementation to start # Available types are "solo" and "kafka" OrdererType: solo # Batch Timeout: The amount of time to wait before creating a batch BatchTimeout: 2s # Batch Size: Controls the number of messages batched into a block BatchSize: # Max Message Count: The maximum number of messages to permit in a batch MaxMessageCount: 10 # Absolute Max Bytes: The absolute maximum number of bytes allowed for # the serialized messages in a batch. AbsoluteMaxBytes: 99 MB # Preferred Max Bytes: The preferred maximum number of bytes allowed for # the serialized messages in a batch. A message larger than the preferred # max bytes will result in a batch larger than preferred max bytes. PreferredMaxBytes: 512 KB Kafka: # Brokers: A list of Kafka brokers to which the orderer connects # NOTE: Use IP:port notation Brokers: - 127.0.0.1:9092 # Organizations is the list of orgs which are defined as participants on # the orderer side of the network Organizations: # Policies defines the set of policies at this level of the config tree # For Orderer policies, their canonical path is # /Channel/Orderer/ Policies: Readers: Type: ImplicitMeta Rule: "ANY Readers" Writers: Type: ImplicitMeta Rule: "ANY Writers" Admins: Type: ImplicitMeta Rule: "MAJORITY Admins" # BlockValidation specifies what signatures must be included in the block # from the orderer for the peer to validate it. BlockValidation: Type: ImplicitMeta Rule: "ANY Writers" ################################################################################ # # CHANNEL # # This section defines the values to encode into a config transaction or # genesis block for channel related parameters. # ################################################################################ Channel: &ChannelDefaults # Policies defines the set of policies at this level of the config tree # For Channel policies, their canonical path is # /Channel/ Policies: # Who may invoke the 'Deliver' API Readers: Type: ImplicitMeta Rule: "ANY Readers" # Who may invoke the 'Broadcast' API Writers: Type: ImplicitMeta Rule: "ANY Writers" # By default, who may modify elements at this config level Admins: Type: ImplicitMeta Rule: "MAJORITY Admins" # Capabilities describes the channel level capabilities, see the # dedicated Capabilities section elsewhere in this file for a full # description Capabilities: <<: *ChannelCapabilities ################################################################################ # # Profile # # - Different configuration profiles may be encoded here to be specified # as parameters to the configtxgen tool # ################################################################################ Profiles: IRSNetGenesis: <<: *ChannelDefaults Orderer: <<: *OrdererDefaults Organizations: - *orderer Capabilities: <<: *OrdererCapabilities Consortiums: SampleConsortium: Organizations: - *partya - *partyb - *partyc - *rrprovider - *auditor IRSChannel: Consortium: SampleConsortium <<: *ChannelDefaults Application: <<: *ApplicationDefaults Organizations: - *partya - *partyb - *partyc - *rrprovider - *auditor Capabilities: <<: *ApplicationCapabilities # Copyright IBM Corp. All Rights Reserved. # # SPDX-License-Identifier: Apache-2.0 #