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.