Stuck on an error while trying to regenerate channel configuration transaction
Command I am using on Terminal:
"configtxgen -profile OneOrgOrdererGenesis -outputCreateChannelTx /Users/anmolmanchanda/go/src/github.com/18738798/fabric-samples/fabric-network/channel.tx -channelID channel"
Error:
Error on outputChannelCreateTx: config update generation failure: cannot define a new channel with no Consortium value
Configtx.yaml:
Organizations:
&OrdererOrg
Name: OrdererOrg
ID: OrdererMSP
MSPDir: crypto-config/ordererOrganizations/example.com/msp
Policies:
Readers:
Type: Signature
Rule: "OR('OrdererMSP.member')"
Writers:
Type: Signature
Rule: "OR('OrdererMSP.member')"
Admins:
Type: Signature
Rule: "OR('OrdererMSP.admin')"
OrdererEndpoints:orderer.example.com:7050
&Org1 # Anchor definition for Org1
Name: Org1
ID: Org1MSP
MSPDir: crypto-config/peerOrganizations/org1.example.com/msp
AdminPrincipal: Role.MEMBER
Policies:
Readers:
Type: Signature
Rule: "OR('Org1MSP.admin', 'Org1MSP.peer', 'Org1MSP.client')"
Writers:
Type: Signature
Rule: "OR('Org1MSP.admin', 'Org1MSP.client')"
Admins:
Type: Signature
Rule: "OR('Org1MSP.admin')"&Org2
Name: Org2
ID: Org2MSP
MSPDir: crypto-config/peerOrganizations/org2.example.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')"
Endorsement:
Type: Signature
Rule: "OR('Org2MSP.peer')"
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
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
Orderer: &OrdererDefaults
OrdererType: solo
Addresses:
- orderer.example.com:7050
BatchTimeout: 2s
BatchSize:
MaxMessageCount: 10
AbsoluteMaxBytes: 99 MB
PreferredMaxBytes: 512 KB
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: &ChannelDefaults
Policies:
Readers:
Type: ImplicitMeta
Rule: "ANY Readers"
Writers:
Type: ImplicitMeta
Rule: "ANY Writers"
Admins:
Type: ImplicitMeta
Rule: "MAJORITY Admins"
Capabilities:
<<: *ChannelCapabilities
Profiles:
OneOrgOrdererGenesis:
<<: *ChannelDefaults
Orderer:
<<: *OrdererDefaults
Organizations:
*OrdererOrg
Capabilities: *OrdererCapabilities
Consortiums:
SampleConsortium:
Organizations:*Org1
*Org2
Application:
<<: *ApplicationDefaults
Organizations:*Org1
- *Org2
Capabilities: *ApplicationCapabilities
Answers
-
@ anmolmanchanda,
Hello, let's see if we can get to the bottom of this.
The error you're encountering, "Error on outputChannelCreateTx: config update generation failure: cannot define a new channel with no Consortium value," suggests that the configtx.yaml file you're using to generate the channel creation transaction doesn't define a consortium for the channel you're trying to create. This is a critical part of the channel configuration when setting up a network in Hyperledger Fabric, especially for new channels beyond the initial setup.In Hyperledger Fabric, a consortium is a group of organizations authorized to create new channels on the network. The consortium definition is part of the system channel configuration, and any new channel must reference a consortium defined in the system channel to indicate which set of organizations are authorized to participate in the new channel.
From the provided configtx.yaml snippet and command, you are trying to generate a genesis block for an orderer with a profile named OneOrgOrdererGenesis. However, to create a channel (as opposed to the initial blockchain setup), you should reference a consortium defined in the system channel.
Here are some suggestions on how you can address this issue:
Please verify Consortium Definition: Make sure your configtx.yaml includes a definition for a consortium under the Consortiums section. From your provided configuration, there is a SampleConsortium defined, which includes Org1 and Org2. Make sure this consortium is intended to be used for the channel you're creating.
Use the Correct Profile for Channel Creation: When generating a channel creation transaction, you should use a profile referencing the correct consortium. Your current command uses OneOrgOrdererGenesis, which is intended to generate a genesis block for the orderer rather than a channel transaction. Ensure you have a profile configured for channel creation that includes the consortium.
Update the Command: Adjust your configtxgen command to use the correct profile for channel creation. Replace OneOrgOrdererGenesis with the profile name that you've defined for your channel, ensuring it references the Consortium properly.
Re-Run the Command: With the corrections made, run the configtxgen command again.
If you've verified that a consortium is correctly defined and referenced in your configtx.yaml and the issue persists, double-check the syntax and indentation in your configtx.yaml file, as YAML is sensitive to these. Ensuring these adjustments should resolve the error you're encountering.
Here is a link to some additional information, https://hyperledger-fabric.readthedocs.io/en/release-2.0/network/network.html?highlight=consortium#creating-a-channel-for-a-consortium
Hope this helps, Bobbi
0
Categories
- All Categories
- 217 LFX Mentorship
- 217 LFX Mentorship: Linux Kernel
- 788 Linux Foundation IT Professional Programs
- 352 Cloud Engineer IT Professional Program
- 177 Advanced Cloud Engineer IT Professional Program
- 82 DevOps Engineer IT Professional Program
- 146 Cloud Native Developer IT Professional Program
- 137 Express Training Courses
- 137 Express Courses - Discussion Forum
- 6.1K Training Courses
- 46 LFC110 Class Forum - Discontinued
- 70 LFC131 Class Forum
- 42 LFD102 Class Forum
- 226 LFD103 Class Forum
- 18 LFD110 Class Forum
- 36 LFD121 Class Forum
- 18 LFD133 Class Forum
- 7 LFD134 Class Forum
- 18 LFD137 Class Forum
- 71 LFD201 Class Forum
- 4 LFD210 Class Forum
- 5 LFD210-CN Class Forum
- 2 LFD213 Class Forum - Discontinued
- 128 LFD232 Class Forum - Discontinued
- 2 LFD233 Class Forum
- 4 LFD237 Class Forum
- 24 LFD254 Class Forum
- 693 LFD259 Class Forum
- 111 LFD272 Class Forum
- 4 LFD272-JP クラス フォーラム
- 12 LFD273 Class Forum
- 144 LFS101 Class Forum
- 1 LFS111 Class Forum
- 3 LFS112 Class Forum
- 2 LFS116 Class Forum
- 4 LFS118 Class Forum
- 4 LFS142 Class Forum
- 5 LFS144 Class Forum
- 4 LFS145 Class Forum
- 2 LFS146 Class Forum
- 3 LFS147 Class Forum
- 1 LFS148 Class Forum
- 15 LFS151 Class Forum
- 2 LFS157 Class Forum
- 25 LFS158 Class Forum
- 7 LFS162 Class Forum
- 2 LFS166 Class Forum
- 4 LFS167 Class Forum
- 3 LFS170 Class Forum
- 2 LFS171 Class Forum
- 3 LFS178 Class Forum
- 3 LFS180 Class Forum
- 2 LFS182 Class Forum
- 5 LFS183 Class Forum
- 31 LFS200 Class Forum
- 737 LFS201 Class Forum - Discontinued
- 3 LFS201-JP クラス フォーラム
- 18 LFS203 Class Forum
- 130 LFS207 Class Forum
- 2 LFS207-DE-Klassenforum
- 1 LFS207-JP クラス フォーラム
- 302 LFS211 Class Forum
- 56 LFS216 Class Forum
- 52 LFS241 Class Forum
- 48 LFS242 Class Forum
- 38 LFS243 Class Forum
- 15 LFS244 Class Forum
- 2 LFS245 Class Forum
- LFS246 Class Forum
- 48 LFS250 Class Forum
- 2 LFS250-JP クラス フォーラム
- 1 LFS251 Class Forum
- 150 LFS253 Class Forum
- 1 LFS254 Class Forum
- 1 LFS255 Class Forum
- 7 LFS256 Class Forum
- 1 LFS257 Class Forum
- 1.2K LFS258 Class Forum
- 10 LFS258-JP クラス フォーラム
- 118 LFS260 Class Forum
- 159 LFS261 Class Forum
- 42 LFS262 Class Forum
- 82 LFS263 Class Forum - Discontinued
- 15 LFS264 Class Forum - Discontinued
- 11 LFS266 Class Forum - Discontinued
- 24 LFS267 Class Forum
- 22 LFS268 Class Forum
- 30 LFS269 Class Forum
- LFS270 Class Forum
- 202 LFS272 Class Forum
- 2 LFS272-JP クラス フォーラム
- 1 LFS274 Class Forum
- 4 LFS281 Class Forum
- 9 LFW111 Class Forum
- 259 LFW211 Class Forum
- 181 LFW212 Class Forum
- 13 SKF100 Class Forum
- 1 SKF200 Class Forum
- 1 SKF201 Class Forum
- 795 Hardware
- 199 Drivers
- 68 I/O Devices
- 37 Monitors
- 102 Multimedia
- 174 Networking
- 91 Printers & Scanners
- 85 Storage
- 758 Linux Distributions
- 82 Debian
- 67 Fedora
- 17 Linux Mint
- 13 Mageia
- 23 openSUSE
- 148 Red Hat Enterprise
- 31 Slackware
- 13 SUSE Enterprise
- 353 Ubuntu
- 468 Linux System Administration
- 39 Cloud Computing
- 71 Command Line/Scripting
- Github systems admin projects
- 93 Linux Security
- 78 Network Management
- 102 System Management
- 47 Web Management
- 63 Mobile Computing
- 18 Android
- 33 Development
- 1.2K New to Linux
- 1K Getting Started with Linux
- 370 Off Topic
- 114 Introductions
- 173 Small Talk
- 22 Study Material
- 805 Programming and Development
- 303 Kernel Development
- 484 Software Development
- 1.8K Software
- 261 Applications
- 183 Command Line
- 3 Compiling/Installing
- 987 Games
- 317 Installation
- 96 All In Program
- 96 All In Forum
Upcoming Training
-
August 20, 2018
Kubernetes Administration (LFS458)
-
August 20, 2018
Linux System Administration (LFS301)
-
August 27, 2018
Open Source Virtualization (LFS462)
-
August 27, 2018
Linux Kernel Debugging and Security (LFD440)