Documentation ¶
Index ¶
Constants ¶
const ( // TestChainID is the channel name used for testing purposes when one is not given TestChainID = "testchainid" // SampleInsecureSoloProfile references the sample profile which does not include any MSPs and uses solo for ordering. SampleInsecureSoloProfile = "SampleInsecureSolo" // SampleDevModeSoloProfile references the sample profile which requires only basic membership for admin privileges and uses solo for ordering. SampleDevModeSoloProfile = "SampleDevModeSolo" // SampleDevModeSoloProfileV11 references the sample profile which requires only basic membership for admin privileges and uses solo for ordering, but has v1.1 capabilities enabled SampleDevModeSoloV11Profile = "SampleDevModeSoloV1_1" // SampleSingleMSPSoloProfile references the sample profile which includes only the sample MSP and uses solo for ordering. SampleSingleMSPSoloProfile = "SampleSingleMSPSolo" // SampleSingleMSPSoloV11Profile references the sample profile which includes only the sample MSP with v1.1 capabilities defined and uses solo for ordering. SampleSingleMSPSoloV11Profile = "SampleSingleMSPSoloV1_1" // SampleInsecureKafkaProfile references the sample profile which does not include any MSPs and uses Kafka for ordering. SampleInsecureKafkaProfile = "SampleInsecureKafka" // SampleDevModeKafkaProfile references the sample profile which requires only basic membership for admin privileges and uses Kafka for ordering. SampleDevModeKafkaProfile = "SampleDevModeKafka" // SampleDevModeKafkaProfileV11 references the sample profile which requires only basic membership for admin privileges and uses Kafka for ordering, but has v1.1 capabilities enabled. SampleDevModeKafkaV11Profile = "SampleDevModeKafkaV1_1" // SampleSingleMSPKafkaProfile references the sample profile which includes only the sample MSP and uses Kafka for ordering. SampleSingleMSPKafkaProfile = "SampleSingleMSPKafka" // SampleSingleMSPKafkaV11Profile references the sample profile which includes only the sample MSP with v1.1 capabilities defined and uses Kafka for ordering. SampleSingleMSPKafkaV11Profile = "SampleSingleMSPKafkaV1_1" // SampleSingleMSPChannelProfile references the sample profile which includes only the sample MSP and is used to create a channel SampleSingleMSPChannelProfile = "SampleSingleMSPChannel" // SampleSingleMSPChannelV11Profile references the sample profile which includes only the sample MSP with v1.1 capabilities and is used to create a channel SampleSingleMSPChannelV11Profile = "SampleSingleMSPChannelV1_1" // SampleConsortiumName is the sample consortium from the sample configtx.yaml SampleConsortiumName = "SampleConsortium" // SampleOrgName is the name of the sample org in the sample profiles SampleOrgName = "SampleOrg" // AdminRoleAdminPrincipal is set as AdminRole to cause the MSP role of type Admin to be used as the admin principal default AdminRoleAdminPrincipal = "Role.ADMIN" // MemberRoleAdminPrincipal is set as AdminRole to cause the MSP role of type Member to be used as the admin principal default MemberRoleAdminPrincipal = "Role.MEMBER" )
const ( // Prefix identifies the prefix for the configtxgen-related ENV vars. Prefix string = "CONFIGTX" )
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type AnchorPeer ¶
AnchorPeer encodes the necessary fields to identify an anchor peer.
type Application ¶
type Application struct { Organizations []*Organization `yaml:"Organizations"` Capabilities map[string]bool `yaml:"Capabilities"` Resources *Resources `yaml:"Resources"` }
Application encodes the application-level configuration needed in config transactions.
type BatchSize ¶
type BatchSize struct { MaxMessageCount uint32 `yaml:"MaxMessageSize"` AbsoluteMaxBytes uint32 `yaml:"AbsoluteMaxBytes"` PreferredMaxBytes uint32 `yaml:"PreferredMaxBytes"` }
BatchSize contains configuration affecting the size of batches.
type Consortium ¶
type Consortium struct {
Organizations []*Organization `yaml:"Organizations"`
}
Consortium represents a group of organizations which may create channels with eachother
type Kafka ¶
type Kafka struct {
Brokers []string `yaml:"Brokers"`
}
Kafka contains configuration for the Kafka-based orderer.
type Orderer ¶
type Orderer struct { OrdererType string `yaml:"OrdererType"` Addresses []string `yaml:"Addresses"` BatchTimeout time.Duration `yaml:"BatchTimeout"` BatchSize BatchSize `yaml:"BatchSize"` Kafka Kafka `yaml:"Kafka"` Organizations []*Organization `yaml:"Organizations"` MaxChannels uint64 `yaml:"MaxChannels"` Capabilities map[string]bool `yaml:"Capabilities"` }
Orderer contains configuration which is used for the bootstrapping of an orderer by the provisional bootstrapper.
type Organization ¶
type Organization struct { Name string `yaml:"Name"` ID string `yaml:"ID"` MSPDir string `yaml:"MSPDir"` MSPType string `yaml:"MSPType"` AdminPrincipal string `yaml:"AdminPrincipal"` // Note: Viper deserialization does not seem to care for // embedding of types, so we use one organization struct // for both orderers and applications. AnchorPeers []*AnchorPeer `yaml:"AnchorPeers"` }
Organization encodes the organization-level configuration needed in config transactions.
type Profile ¶
type Profile struct { Consortium string `yaml:"Consortium"` Application *Application `yaml:"Application"` Orderer *Orderer `yaml:"Orderer"` Consortiums map[string]*Consortium `yaml:"Consortiums"` Capabilities map[string]bool `yaml:"Capabilities"` }
Profile encodes orderer/application configuration combinations for the configtxgen tool.
type Resources ¶
type Resources struct {
DefaultModPolicy string
}
Resouces encodes the application-level resources configuration needed to seed the resource tree
type TopLevel ¶
type TopLevel struct { Profiles map[string]*Profile `yaml:"Profiles"` Organizations []*Organization `yaml:"Organizations"` Application *Application `yaml:"Application"` Orderer *Orderer `yaml:"Orderer"` Capabilities map[string]map[string]bool `yaml:"Capabilities"` Resources *Resources `yaml:"Resources"` }
TopLevel consists of the structs used by the configtxgen tool.
func LoadTopLevel ¶
func LoadTopLevel() *TopLevel
LoadTopLevel simply loads the configtx.yaml file into the structs above and completes their initialization. Note, for environment overrides to work properly within a profile, Load(profile string) should be called when attempting to work within a particular profile.