Documentation

Index

Constants

View Source
const (
	// Prefix identifies the prefix for the configtxgen-related ENV vars.
	Prefix string = "CONFIGTX"

	// The type key for etcd based RAFT consensus.
	EtcdRaft = "etcdraft"
)
View Source
const (
	// 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"
	// SampleSingleMSPSoloProfile references the sample profile which includes
	// only the sample MSP and uses solo for ordering.
	SampleSingleMSPSoloProfile = "SampleSingleMSPSolo"

	// 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"
	// SampleSingleMSPKafkaProfile references the sample profile which includes
	// only the sample MSP and uses Kafka for ordering.
	SampleSingleMSPKafkaProfile = "SampleSingleMSPKafka"

	// SampleDevModeEtcdRaftProfile references the sample profile used for testing
	// the etcd/raft-based ordering service.
	SampleDevModeEtcdRaftProfile = "SampleDevModeEtcdRaft"

	// SampleSingleMSPChannelProfile references the sample profile which
	// includes only the sample MSP and is used to create a channel
	SampleSingleMSPChannelProfile = "SampleSingleMSPChannel"

	// 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"
)

Variables

This section is empty.

Functions

This section is empty.

Types

type AnchorPeer

type AnchorPeer struct {
	Host string `yaml:"Host"`
	Port int    `yaml:"Port"`
}

    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"`
    	Policies      map[string]*Policy `yaml:"Policies"`
    	ACLs          map[string]string  `yaml:"ACLs"`
    }

      Application encodes the application-level configuration needed in config transactions.

      type BatchSize

      type BatchSize struct {
      	MaxMessageCount   uint32 `yaml:"MaxMessageCount"`
      	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 each other

          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"`
            	EtcdRaft      *etcdraft.ConfigMetadata `yaml:"EtcdRaft"`
            	Organizations []*Organization          `yaml:"Organizations"`
            	MaxChannels   uint64                   `yaml:"MaxChannels"`
            	Capabilities  map[string]bool          `yaml:"Capabilities"`
            	Policies      map[string]*Policy       `yaml:"Policies"`
            }

              Orderer contains configuration associated to a channel.

              type Organization

              type Organization struct {
              	Name     string             `yaml:"Name"`
              	ID       string             `yaml:"ID"`
              	MSPDir   string             `yaml:"MSPDir"`
              	MSPType  string             `yaml:"MSPType"`
              	Policies map[string]*Policy `yaml:"Policies"`
              
              	// 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"`
              	OrdererEndpoints []string      `yaml:"OrdererEndpoints"`
              
              	// AdminPrincipal is deprecated and may be removed in a future release
              	// it was used for modifying the default policy generation, but policies
              	// may now be specified explicitly so it is redundant and unnecessary
              	AdminPrincipal string `yaml:"AdminPrincipal"`
              
              	// SkipAsForeign indicates that this org definition is actually unknown to this
              	// instance of the tool, so, parsing of this org's parameters should be ignored.
              	SkipAsForeign bool
              }

                Organization encodes the organization-level configuration needed in config transactions.

                type Policy

                type Policy struct {
                	Type string `yaml:"Type"`
                	Rule string `yaml:"Rule"`
                }

                  Policy encodes a channel config policy

                  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"`
                  	Policies     map[string]*Policy     `yaml:"Policies"`
                  }

                    Profile encodes orderer/application configuration combinations for the configtxgen tool.

                    type TopLevel

                    type TopLevel struct {
                    	Profiles      map[string]*Profile        `yaml:"Profiles"`
                    	Organizations []*Organization            `yaml:"Organizations"`
                    	Channel       *Profile                   `yaml:"Channel"`
                    	Application   *Application               `yaml:"Application"`
                    	Orderer       *Orderer                   `yaml:"Orderer"`
                    	Capabilities  map[string]map[string]bool `yaml:"Capabilities"`
                    }

                      TopLevel consists of the structs used by the configtxgen tool.

                      Source Files