mirror of
https://github.com/hyperledger/fabric-samples.git
synced 2026-06-17 15:35:09 +00:00
* Add in examples and notes on using PurgePrivateData - Update the configtx.yaml to enable the 2.5 capabillity - Added purge into the chancode - Added pruge into the application client code. Signed-off-by: Matthew B White <whitemat@uk.ibm.com> * Temporarily remove java cc test Signed-off-by: Matthew B White <whitemat@uk.ibm.com>
452 lines
16 KiB
YAML
452 lines
16 KiB
YAML
# 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/<Application|Orderer>/<OrgName>/<PolicyName>
|
|
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/<Application|Orderer>/<OrgName>/<PolicyName>
|
|
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/<Application|Orderer>/<OrgName>/<PolicyName>
|
|
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/<Application|Orderer>/<OrgName>/<PolicyName>
|
|
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/<Application|Orderer>/<OrgName>/<PolicyName>
|
|
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/<Application|Orderer>/<OrgName>/<PolicyName>
|
|
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.5 for Application enables the new non-backwards compatible
|
|
# features of fabric v2.5, namely the ability to purge private data.
|
|
# Prior to enabling V2.5 application capabilities, ensure that all
|
|
# peers on a channel are at v2.5.0 or later.
|
|
V2_5: 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/<PolicyName>
|
|
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/<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"
|
|
|
|
################################################################################
|
|
#
|
|
# 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
|
|
|
|
################################################################################
|
|
#
|
|
# 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
|
|
#
|