Created
November 30, 2019 23:24
-
-
Save siddjain/4cefde4321185c81a663f877fd6b105e to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# | |
# SPDX-License-Identifier: Apache-2.0 | |
# | |
# see https://github.com/hyperledger/fabric-samples/blob/release-1.4/first-network/configtx.yaml for example template | |
# on which this file is based | |
--- | |
################################################################################ | |
# | |
# Section: Organizations | |
# | |
# - This section defines the different organizational identities which will | |
# be referenced later in the configuration. | |
# | |
################################################################################ | |
Organizations: | |
# see https://learnxinyminutes.com/docs/yaml/ to understand what the funny characters like & mean in this file | |
- &OrdOrg | |
Name: OrdOrg | |
# ID to load the MSP definition as | |
ID: OrdOrgMSP | |
MSPDir: crypto-config/ordererOrganizations/OrdOrg.com/msp | |
# https://hyperledger-fabric.readthedocs.io/en/release-1.4/policies.html | |
# If you do not define the policies, you get following warning when you try to create the genesis block: | |
# Default policy emission is deprecated, please include policy specificiations for the orderer group in configtx.yaml | |
# the policies below have been borrowed from https://github.com/hyperledger/fabric-samples/blob/release-1.4/first-network/configtx.yaml | |
# Policies defines the set of policies at this level of the config tree | |
# For organization policies, their canonical path is usually | |
# /Channel/<Application|Orderer>/<OrgName>/<PolicyName> | |
Policies: &OrdPolicies | |
Readers: | |
Type: Signature | |
Rule: "OR('OrdOrgMSP.admin', 'OrdOrgMSP.orderer', 'OrdOrgMSP.client')" | |
Writers: | |
Type: Signature | |
Rule: "OR('OrdOrgMSP.admin', 'OrdOrgMSP.client')" | |
Admins: | |
Type: Signature | |
Rule: "OR('OrdOrgMSP.admin')" | |
- &Org1 | |
Name: Org1 | |
# ID to load the MSP definition as | |
ID: Org1MSP | |
MSPDir: crypto-config/peerOrganizations/Org1.com/msp | |
Policies: | |
Readers: | |
Type: Signature | |
Rule: "OR('Org1MSP.admin', 'Org1MSP.peer', 'OrdOrgMSP.client')" | |
Writers: | |
Type: Signature | |
Rule: "OR('Org1MSP.admin', 'Org1MSP.client')" | |
Admins: | |
Type: Signature | |
Rule: "OR('Org1MSP.admin')" | |
- &Org2 | |
Name: Org2 | |
# ID to load the MSP definition as | |
ID: Org2MSP | |
MSPDir: crypto-config/peerOrganizations/Org2.com/msp | |
Policies: | |
Readers: | |
Type: Signature | |
Rule: "OR('Org2MSP.admin', 'Org2MSP.peer', 'Org2MSP.client')" | |
Writers: | |
Type: Signature | |
Rule: "OR('Org2MSP.admin', 'Org2MSP.client')" | |
Admins: | |
Type: Signature | |
Rule: "OR('Org2MSP.admin')" | |
- &Org3 | |
Name: Org3 | |
# ID to load the MSP definition as | |
ID: Org3MSP | |
MSPDir: crypto-config/peerOrganizations/Org3.com/msp | |
Policies: | |
Readers: | |
Type: Signature | |
Rule: "OR('Org3MSP.admin', 'Org3MSP.peer', 'Org3MSP.client')" | |
Writers: | |
Type: Signature | |
Rule: "OR('Org3MSP.admin', 'Org3MSP.client')" | |
Admins: | |
Type: Signature | |
Rule: "OR('Org3MSP.admin')" | |
################################################################################ | |
# | |
# 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 | |
# V1.4.3 for Channel is a catchall flag for behavior which has been | |
# determined to be desired for all orderers and peers running at the v1.4.3 | |
# level, but which would be incompatible with orderers and peers from | |
# prior releases. | |
# Prior to enabling V1.4.3 channel capabilities, ensure that all | |
# orderers and peers on a channel are at v1.4.3 or later. | |
# Capabilities are additive, not exclusive. In other words, the 1.4.3 capabilities enable the features contained in v1.3 and v1.1, as well as new capabilities in v1.4.3. | |
# You can only set one level of capabilities to “TRUE” in a channel config for a particular capability group. | |
V1_4_3: true | |
# V1.3 for Channel enables the new non-backwards compatible | |
# features and fixes of fabric v1.3 | |
V1_3: false | |
# V1.1 for Channel enables the new non-backwards compatible | |
# features and fixes of fabric v1.1 | |
V1_1: false | |
# 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 | |
# V1.4.2 for Orderer is a catchall flag for behavior which has been | |
# determined to be desired for all orderers running at the v1.4.2 | |
# level, but which would be incompatible with orderers from prior releases. | |
# Prior to enabling V1.4.2 orderer capabilities, ensure that all | |
# orderers on a channel are at v1.4.2 or later. | |
V1_4_2: true | |
# V1.1 for Orderer enables the new non-backwards compatible | |
# features and fixes of fabric v1.1 | |
V1_1: false | |
# 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 | |
# V1.4.2 for Application enables the new non-backwards compatible | |
# features and fixes of fabric v1.4.2. | |
V1_4_2: true | |
# V1.3 for Application enables the new non-backwards compatible | |
# features and fixes of fabric v1.3. | |
V1_3: false | |
# V1.2 for Application enables the new non-backwards compatible | |
# features and fixes of fabric v1.2 (note, this need not be set if | |
# later version capabilities are set) | |
V1_2: false | |
# V1.1 for Application enables the new non-backwards compatible | |
# features and fixes of fabric v1.1 (note, this need not be set if | |
# later version capabilities are set). | |
V1_1: false | |
################################################################################ | |
# | |
# 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/<PolicyName> | |
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 | |
################################################################################ | |
# | |
# 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/<PolicyName> | |
Policies: | |
Readers: | |
Type: ImplicitMeta | |
Rule: "ANY Readers" | |
Writers: | |
Type: ImplicitMeta | |
Rule: "ANY Writers" | |
Admins: | |
Type: ImplicitMeta | |
Rule: "MAJORITY Admins" | |
Capabilities: | |
<<: *ApplicationCapabilities | |
################################################################################ | |
# | |
# SECTION: Orderer | |
# | |
# - This section defines the values to encode into a config transaction or | |
# genesis block for orderer related parameters | |
# | |
################################################################################ | |
Orderer: &OrdererDefaults | |
# solo is a single node orderer that orders transactions on first-come first-served | |
# basis | |
OrdererType: solo | |
Addresses: | |
- orderer0.OrdOrg.com:7050 | |
# Policies defines the set of policies at this level of the config tree | |
# For Orderer policies, their canonical path is | |
# /Channel/Orderer/<PolicyName> | |
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" | |
# 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 | |
# Organizations is the list of orgs which are defined as participants on | |
# the orderer side of the network | |
Organizations: | |
################################################################################ | |
# | |
# Profile | |
# | |
# - Different configuration profiles may be encoded here to be specified | |
# as parameters to the configtxgen tool | |
# | |
################################################################################ | |
Profiles: | |
# this profile will be used by configtxgen to generate the genesis block | |
Genesis: | |
<<: *ChannelDefaults | |
Orderer: | |
<<: *OrdererDefaults | |
Organizations: | |
- *OrdOrg | |
Capabilities: | |
<<: *OrdererCapabilities | |
Consortiums: | |
ExampleConsortium: | |
Organizations: | |
- *Org3 | |
- *Org1 | |
- *Org2 | |
# this profile will be used by configtxgen to generate the channel transaction artifact | |
ChannelConfig: | |
Consortium: ExampleConsortium | |
<<: *ChannelDefaults | |
Application: | |
<<: *ApplicationDefaults | |
Organizations: | |
- *Org3 | |
- *Org1 | |
- *Org2 | |
Capabilities: | |
<<: *ApplicationCapabilities | |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment