Documentation ¶
Index ¶
- Constants
- Variables
- func AddConsenter(n *Network, peer *Peer, orderer *Orderer, channel string, ...)
- func ComputeUpdateOrdererConfig(updateFile string, n *Network, channel string, current, updated *common.Config, ...)
- func ConnectsToOrderer(c Command) bool
- func CurrentConfigBlockNumber(n *Network, peer *Peer, orderer *Orderer, channel string) uint64
- func CurrentConfigBlockNumberFromPeer(n *Network, peer *Peer, channel, output string) uint64
- func DeployChaincode(n *Network, channel string, orderer *Orderer, chaincode Chaincode, ...)
- func DiscoverPeers(n *Network, p *Peer, user, channelName string) func() []DiscoveredPeer
- func EnableCapabilities(network *Network, channel, capabilitiesGroup, capabilitiesVersion string, ...)
- func EnableCapabilitiesOrdererAdmin(network *Network, channel, capabilitiesGroup, capabilitiesVersion string, ...)
- func EnsureInstantiated(n *Network, channel, name, version string, peers ...*Peer)
- func FetchConfigBlock(n *Network, peer *Peer, orderer *Orderer, channel string, output string)
- func GetConfig(n *Network, peer *Peer, orderer *Orderer, channel string) *common.Config
- func GetConfigBlock(n *Network, peer *Peer, orderer *Orderer, channel string) *common.Block
- func InstallChaincode(n *Network, chaincode Chaincode, peers ...*Peer)
- func InstantiateChaincode(n *Network, channel string, orderer *Orderer, chaincode Chaincode, peer *Peer, ...)
- func NewCommand(path string, command Command) *exec.Cmd
- func PackageChaincode(n *Network, chaincode Chaincode, peer *Peer)
- func RemoveConsenter(n *Network, peer *Peer, orderer *Orderer, channel string, certificate []byte)
- func UnmarshalBlockFromFile(blockFile string) *common.Block
- func UpdateConfig(n *Network, orderer *Orderer, channel string, current, updated *common.Config, ...)
- func UpdateConsensusMetadata(network *Network, peer *Peer, orderer *Orderer, channel string, ...)
- func UpdateEtcdRaftMetadata(network *Network, peer *Peer, orderer *Orderer, channel string, ...)
- func UpdateOrdererConfig(n *Network, orderer *Orderer, channel string, current, updated *common.Config, ...)
- func UpdateOrdererConfigFail(n *Network, orderer *Orderer, channel string, current, updated *common.Config, ...)
- func UpdateOrdererMSP(network *Network, peer *Peer, orderer *Orderer, channel, orgID string, ...)
- func UpgradeChaincode(n *Network, channel string, orderer *Orderer, chaincode Chaincode, ...)
- type CA
- type Chaincode
- type Channel
- type Command
- type Components
- func (c *Components) Build(args ...string)
- func (c *Components) Cleanup()
- func (c *Components) ConfigTxGen() string
- func (c *Components) Cryptogen() string
- func (c *Components) Discover() string
- func (c *Components) Idemixgen() string
- func (c *Components) Orderer() string
- func (c *Components) Peer() string
- type Config
- type Consensus
- type ConsensusMetadataMutator
- type Consortium
- type DiscoveredPeer
- type Enver
- type MSPMutator
- type Network
- func (n *Network) AnchorsForChannel(chanName string) []*Peer
- func (n *Network) AnchorsInOrg(orgName string) []*Peer
- func (n *Network) Bootstrap()
- func (n *Network) BrokerAddresses(portName PortName) []string
- func (n *Network) BrokerGroupRunner() ifrit.Runner
- func (n *Network) BrokerRunner(id int, zookeepers []string) *runner.Kafka
- func (n *Network) CACertsBundlePath() string
- func (n *Network) Cleanup()
- func (n *Network) ConcatenateTLSCACertificates()
- func (n *Network) ConfigTxConfigPath() string
- func (n *Network) ConfigTxGen(command Command) (*gexec.Session, error)
- func (n *Network) Consortium(name string) *Consortium
- func (n *Network) CreateAndJoinChannel(o *Orderer, channelName string)
- func (n *Network) CreateAndJoinChannels(o *Orderer)
- func (n *Network) CreateChannel(channelName string, o *Orderer, p *Peer, additionalSigners ...interface{})
- func (n *Network) CreateChannelFail(channelName string, o *Orderer, p *Peer, additionalSigners ...interface{})
- func (n *Network) CreateChannelTxPath(channelName string) string
- func (n *Network) CryptoConfigPath() string
- func (n *Network) CryptoPath() string
- func (n *Network) Cryptogen(command Command) (*gexec.Session, error)
- func (n *Network) Discover(command Command) (*gexec.Session, error)
- func (n *Network) DiscoveredPeer(p *Peer, chaincodes ...string) DiscoveredPeer
- func (n *Network) GenerateConfigTree()
- func (n *Network) GenerateConfigTxConfig()
- func (n *Network) GenerateCoreConfig(p *Peer)
- func (n *Network) GenerateCryptoConfig()
- func (n *Network) GenerateOrdererConfig(o *Orderer)
- func (n *Network) JoinChannel(name string, o *Orderer, peers ...*Peer)
- func (n *Network) NetworkGroupRunner() ifrit.Runner
- func (n *Network) Orderer(name string) *Orderer
- func (n *Network) OrdererAddress(o *Orderer, portName PortName) string
- func (n *Network) OrdererAdminSession(o *Orderer, p *Peer, command Command) (*gexec.Session, error)
- func (n *Network) OrdererConfigPath(o *Orderer) string
- func (n *Network) OrdererDir(o *Orderer) string
- func (n *Network) OrdererGroupRunner() ifrit.Runner
- func (n *Network) OrdererLocalCryptoDir(o *Orderer, cryptoType string) string
- func (n *Network) OrdererLocalMSPDir(o *Orderer) string
- func (n *Network) OrdererLocalTLSDir(o *Orderer) string
- func (n *Network) OrdererOrgMSPDir(o *Organization) string
- func (n *Network) OrdererOrgs() []*Organization
- func (n *Network) OrdererPort(o *Orderer, portName PortName) uint16
- func (n *Network) OrdererRunner(o *Orderer) *ginkgomon.Runner
- func (n *Network) OrdererUserCert(o *Orderer, user string) string
- func (n *Network) OrdererUserKey(o *Orderer, user string) string
- func (n *Network) OrdererUserMSPDir(o *Orderer, user string) string
- func (n *Network) OrderersInOrg(orgName string) []*Orderer
- func (n *Network) Organization(orgName string) *Organization
- func (n *Network) OrgsForOrderers(ordererNames []string) []*Organization
- func (n *Network) OutputBlockPath(channelName string) string
- func (n *Network) Peer(orgName, peerName string) *Peer
- func (n *Network) PeerAddress(p *Peer, portName PortName) string
- func (n *Network) PeerAdminSession(p *Peer, command Command) (*gexec.Session, error)
- func (n *Network) PeerCert(p *Peer) string
- func (n *Network) PeerConfigPath(p *Peer) string
- func (n *Network) PeerDir(p *Peer) string
- func (n *Network) PeerGroupRunner() ifrit.Runner
- func (n *Network) PeerLocalMSPDir(p *Peer) string
- func (n *Network) PeerLocalTLSDir(p *Peer) string
- func (n *Network) PeerOrgMSPDir(org *Organization) string
- func (n *Network) PeerOrgs() []*Organization
- func (n *Network) PeerPort(p *Peer, portName PortName) uint16
- func (n *Network) PeerRunner(p *Peer) *ginkgomon.Runner
- func (n *Network) PeerUserCert(p *Peer, user string) string
- func (n *Network) PeerUserKey(p *Peer, user string) string
- func (n *Network) PeerUserMSPDir(p *Peer, user string) string
- func (n *Network) PeerUserSession(p *Peer, user string, command Command) (*gexec.Session, error)
- func (n *Network) PeerUserTLSDir(p *Peer, user string) string
- func (n *Network) PeersInOrg(orgName string) []*Peer
- func (n *Network) PeersWithChannel(chanName string) []*Peer
- func (n *Network) ProfileForChannel(channelName string) string
- func (n *Network) ReadConfigTxConfig() *fabricconfig.ConfigTx
- func (n *Network) ReadOrdererConfig(o *Orderer) *fabricconfig.Orderer
- func (n *Network) ReadPeerConfig(p *Peer) *fabricconfig.Core
- func (n *Network) ReservePort() uint16
- func (n *Network) StartSession(cmd *exec.Cmd, name string) (*gexec.Session, error)
- func (n *Network) UpdateChannelAnchors(o *Orderer, channelName string)
- func (n *Network) WriteConfigTxConfig(config *fabricconfig.ConfigTx)
- func (n *Network) WriteOrdererConfig(o *Orderer, config *fabricconfig.Orderer)
- func (n *Network) WritePeerConfig(p *Peer, config *fabricconfig.Core)
- func (n *Network) ZooKeeperRunner(idx int) *runner.ZooKeeper
- type Orderer
- type OrdererCapabilities
- type Organization
- type Peer
- type PeerChannel
- type PortName
- type Ports
- type Profile
- type SystemChannel
- type Templates
- type WorkingDirer
Constants ¶
const DefaultConfigTxTemplate = `` /* 3631-byte string literal not displayed */
const DefaultCoreTemplate = `` /* 5172-byte string literal not displayed */
const DefaultCryptoTemplate = `` /* 845-byte string literal not displayed */
const DefaultOrdererTemplate = `` /* 3063-byte string literal not displayed */
Variables ¶
var RequiredImages = []string{ fmt.Sprintf("hyperledger/fabric-ccenv:%s-latest", runtime.GOARCH), runner.CouchDBDefaultImage, runner.KafkaDefaultImage, runner.ZooKeeperDefaultImage, }
Functions ¶
func AddConsenter ¶ added in v1.4.4
func AddConsenter(n *Network, peer *Peer, orderer *Orderer, channel string, consenter ectdraft_protos.Consenter)
AddConsenter adds a new consenter to the given channel
func ComputeUpdateOrdererConfig ¶ added in v1.4.4
func ConnectsToOrderer ¶ added in v1.4.0
func CurrentConfigBlockNumber ¶ added in v1.4.0
CurrentConfigBlockNumber retrieves the block number from the header of the current config block. This can be used to detect when configuration change has completed. If an orderer is not provided, the current config block will be fetched from the peer.
func CurrentConfigBlockNumberFromPeer ¶ added in v1.4.4
CurrentConfigBlockNumberFromPeer retrieves the block number from the header of the peer's current config block.
func DeployChaincode ¶
func DeployChaincode(n *Network, channel string, orderer *Orderer, chaincode Chaincode, peers ...*Peer)
DeployChaincode is a helper that will install chaincode to all peers that are connected to the specified channel, instantiate the chaincode on one of the peers, and wait for the instantiation to complete on all of the peers.
NOTE: This helper should not be used to deploy the same chaincode on multiple channels as the install will fail on subsequent calls. Instead, simply use InstantiateChaincode().
func DiscoverPeers ¶ added in v1.4.0
func DiscoverPeers(n *Network, p *Peer, user, channelName string) func() []DiscoveredPeer
running discovery service command discover peers against peer using channel name and user as specified in the function arguments. return a slice of the discovered peers
func EnableCapabilities ¶ added in v1.4.4
func EnableCapabilities(network *Network, channel, capabilitiesGroup, capabilitiesVersion string, orderer *Orderer, peers ...*Peer)
EnableCapabilities enables a specific capabilities flag for a running network. It generates the config update using the first peer, signs the configuration with the subsequent peers, and then submits the config update using the first peer.
func EnableCapabilitiesOrdererAdmin ¶ added in v1.4.4
func EnableCapabilitiesOrdererAdmin(network *Network, channel, capabilitiesGroup, capabilitiesVersion string, orderer *Orderer, peer *Peer, additionalSigners ...*Orderer)
EnableCapabilitiesOrdererAdmin enables a specific capabilities flag for a running network, using an Orderer Admin Session. This is required to make changes on the system channel, for example.
func EnsureInstantiated ¶ added in v1.4.0
func FetchConfigBlock ¶ added in v1.4.4
FetchConfigBlock fetches latest config block.
func GetConfigBlock ¶ added in v1.4.0
GetConfigBlock retrieves the current config block for a channel
func InstallChaincode ¶ added in v1.4.0
func InstantiateChaincode ¶ added in v1.4.0
func PackageChaincode ¶ added in v1.4.0
func RemoveConsenter ¶ added in v1.4.4
RemoveConsenter removes a consenter with the given certificate in PEM format from the given channel
func UnmarshalBlockFromFile ¶ added in v1.4.0
UnmarshalBlockFromFile unmarshals a proto encoded block from a file.
func UpdateConfig ¶ added in v1.4.0
func UpdateConfig(n *Network, orderer *Orderer, channel string, current, updated *common.Config, getConfigBlockFromOrderer bool, submitter *Peer, additionalSigners ...*Peer)
UpdateConfig computes, signs, and submits a configuration update and waits for the update to complete.
func UpdateConsensusMetadata ¶ added in v1.4.4
func UpdateConsensusMetadata(network *Network, peer *Peer, orderer *Orderer, channel string, mutateMetadata ConsensusMetadataMutator)
UpdateConsensusMetadata executes a config update that updates the consensus metadata according to the given ConsensusMetadataMutator
func UpdateEtcdRaftMetadata ¶ added in v1.4.4
func UpdateEtcdRaftMetadata(network *Network, peer *Peer, orderer *Orderer, channel string, f func(md *ectdraft_protos.ConfigMetadata))
UpdateEtcdRaftMetadata executes a config update that updates the etcdraft metadata according to the given function f
func UpdateOrdererConfig ¶ added in v1.4.0
func UpdateOrdererConfig(n *Network, orderer *Orderer, channel string, current, updated *common.Config, submitter *Peer, additionalSigners ...*Orderer)
UpdateOrdererConfig computes, signs, and submits a configuration update which requires orderers signature and waits for the update to complete.
func UpdateOrdererConfigFail ¶ added in v1.4.4
func UpdateOrdererConfigFail(n *Network, orderer *Orderer, channel string, current, updated *common.Config, submitter *Peer, additionalSigners ...*Orderer)
UpdateOrdererConfigFail computes, signs, and submits a configuration update which requires orderers signature and waits for the update to FAIL.
func UpdateOrdererMSP ¶ added in v1.4.7
func UpdateOrdererMSP(network *Network, peer *Peer, orderer *Orderer, channel, orgID string, mutateMSP MSPMutator)
Types ¶
type Channel ¶
type Channel struct { Name string `yaml:"name,omitempty"` Profile string `yaml:"profile,omitempty"` BaseProfile string `yaml:"baseprofile,omitempty"` }
Channel associates a channel name with a configtxgen profile name.
type Components ¶
func (*Components) Build ¶
func (c *Components) Build(args ...string)
func (*Components) Cleanup ¶
func (c *Components) Cleanup()
func (*Components) ConfigTxGen ¶
func (c *Components) ConfigTxGen() string
func (*Components) Cryptogen ¶
func (c *Components) Cryptogen() string
func (*Components) Discover ¶ added in v1.4.0
func (c *Components) Discover() string
func (*Components) Idemixgen ¶
func (c *Components) Idemixgen() string
func (*Components) Orderer ¶
func (c *Components) Orderer() string
func (*Components) Peer ¶
func (c *Components) Peer() string
type Config ¶
type Config struct { Organizations []*Organization `yaml:"organizations,omitempty"` Consortiums []*Consortium `yaml:"consortiums,omitempty"` SystemChannel *SystemChannel `yaml:"system_channel,omitempty"` Channels []*Channel `yaml:"channels,omitempty"` Consensus *Consensus `yaml:"consensus,omitempty"` Orderers []*Orderer `yaml:"orderers,omitempty"` Peers []*Peer `yaml:"peers,omitempty"` Profiles []*Profile `yaml:"profiles,omitempty"` Templates *Templates `yaml:"templates,omitempty"` }
Config holds the basic information needed to generate fabric configuration files.
func BasicEtcdRaft ¶ added in v1.4.0
func BasicEtcdRaft() *Config
func BasicKafka ¶
func BasicKafka() *Config
func MinimalRaft ¶ added in v1.4.4
func MinimalRaft() *Config
func MultiChannelEtcdRaft ¶ added in v1.4.0
func MultiChannelEtcdRaft() *Config
func MultiNodeEtcdRaft ¶ added in v1.4.0
func MultiNodeEtcdRaft() *Config
func (*Config) RemovePeer ¶
type Consensus ¶
type Consensus struct { Type string `yaml:"type,omitempty"` Brokers int `yaml:"brokers,omitempty"` ZooKeepers int `yaml:"zookeepers,omitempty"` }
Consensus indicates the orderer types and how many broker and zookeeper instances.
type ConsensusMetadataMutator ¶ added in v1.4.4
ConsensusMetadataMutator receives ConsensusType.Metadata and mutates it
type Consortium ¶
type Consortium struct { Name string `yaml:"name,omitempty"` Organizations []string `yaml:"organizations,omitempty"` }
A Consortium is a named collection of Organizations. It is used to populate the Orderer geneesis block profile.
type DiscoveredPeer ¶ added in v1.4.0
type DiscoveredPeer struct { MSPID string `yaml:"mspid,omitempty"` Endpoint string `yaml:"endpoint,omitempty"` Identity string `yaml:"identity,omitempty"` Chaincodes []string `yaml:"chaincodes,omitempty"` }
DiscoveredPeer defines a struct for discovering peers using discovery service. each peer in the result will have these fields
type MSPMutator ¶ added in v1.4.7
type MSPMutator func(config msp.FabricMSPConfig) msp.FabricMSPConfig
MSPMutator receives FabricMSPConfig and mutates it.
type Network ¶
type Network struct { RootDir string StartPort uint16 Components *Components DockerClient *docker.Client NetworkID string EventuallyTimeout time.Duration MetricsProvider string StatsdEndpoint string PortsByBrokerID map[string]Ports PortsByOrdererID map[string]Ports PortsByPeerID map[string]Ports Organizations []*Organization SystemChannel *SystemChannel Channels []*Channel Consensus *Consensus OrdererCap *OrdererCapabilities Orderers []*Orderer Peers []*Peer Profiles []*Profile Consortiums []*Consortium Templates *Templates // contains filtered or unexported fields }
Network holds information about a fabric network.
func New ¶
func New(c *Config, rootDir string, client *docker.Client, startPort int, components *Components) *Network
New creates a Network from a simple configuration. All generated or managed artifacts for the network will be located under rootDir. Ports will be allocated sequentially from the specified startPort.
func (*Network) AnchorsForChannel ¶
AnchorsForChannel returns all Peer instances that are anchors for the named channel.
func (*Network) AnchorsInOrg ¶
AnchorsInOrg returns all peers that are an anchor for at least one channel in the named organization.
func (*Network) Bootstrap ¶
func (n *Network) Bootstrap()
Bootstrap generates the cryptographic material, orderer system channel genesis block, and create channel transactions needed to run a fabric network.
The cryptogen tool is used to create crypto material from the contents of ${rootDir}/crypto-config.yaml. The generated artifacts will be placed in ${rootDir}/crypto/...
The gensis block is generated from the profile referenced by the SystemChannel.Profile attribute. The block is written to ${rootDir}/${SystemChannel.Name}_block.pb.
The create channel transactions are generated for each Channel referenced by the Network using the channel's Profile attribute. The transactions are written to ${rootDir}/${Channel.Name}_tx.pb.
func (*Network) BrokerAddresses ¶
BrokerAddresses returns the list of broker addresses for the network.
func (*Network) BrokerGroupRunner ¶
BrokerGroupRunner returns a runner that manages the processes that make up the kafka broker network for fabric.
func (*Network) BrokerRunner ¶
BrokerRunner returns a runner for an kafka broker instance.
func (*Network) CACertsBundlePath ¶ added in v1.4.0
CACertsBundlePath returns the path to the bundle of CA certificates for the network. This bundle is used when connecting to peers.
func (*Network) Cleanup ¶
func (n *Network) Cleanup()
Cleanup attempts to cleanup docker related artifacts that may have been created by the network.
func (*Network) ConcatenateTLSCACertificates ¶ added in v1.4.4
func (n *Network) ConcatenateTLSCACertificates()
concatenateTLSCACertificates concatenates all TLS CA certificates into a single file to be used by peer CLI.
func (*Network) ConfigTxConfigPath ¶
ConfigTxPath returns the path to the generated configtxgen configuration file.
func (*Network) ConfigTxGen ¶
ConfigTxGen starts a gexec.Session for the provided configtxgen command.
func (*Network) Consortium ¶
func (n *Network) Consortium(name string) *Consortium
Consortium returns information about the named Consortium.
func (*Network) CreateAndJoinChannel ¶
CreateAndJoinChannel will create the specified channel. The referencing peers will then be joined to the channel.
The network must be running before this is called.
func (*Network) CreateAndJoinChannels ¶
CreateAndJoinChannels will create all channels specified in the config that are referenced by peers. The referencing peers will then be joined to the channel(s).
The network must be running before this is called.
func (*Network) CreateChannel ¶
func (n *Network) CreateChannel(channelName string, o *Orderer, p *Peer, additionalSigners ...interface{})
CreateChannel will submit an existing create channel transaction to the specified orderer. The channel transaction must exist at the location returned by CreateChannelTxPath. Optionally, additional signers may be included in the case where the channel creation tx modifies other aspects of the channel config for the new channel.
The orderer must be running when this is called.
func (*Network) CreateChannelFail ¶ added in v1.4.4
func (n *Network) CreateChannelFail(channelName string, o *Orderer, p *Peer, additionalSigners ...interface{})
CreateChannelFail will submit an existing create channel transaction to the specified orderer, but expect to FAIL. The channel transaction must exist at the location returned by CreateChannelTxPath.
The orderer must be running when this is called.
func (*Network) CreateChannelTxPath ¶
CreateChannelTxPath returns the path to the create channel transaction for the named channel.
func (*Network) CryptoConfigPath ¶
CryptoConfigPath returns the path to the generated cryptogen configuration file.
func (*Network) CryptoPath ¶
CryptoPath returns the path to the directory where cryptogen will place its generated artifacts.
func (*Network) Discover ¶ added in v1.4.0
Discover starts a gexec.Session for the provided discover command.
func (*Network) DiscoveredPeer ¶ added in v1.4.0
func (n *Network) DiscoveredPeer(p *Peer, chaincodes ...string) DiscoveredPeer
the function creates a new DiscoveredPeer from the peer and chaincodes passed as arguments
func (*Network) GenerateConfigTree ¶
func (n *Network) GenerateConfigTree()
GenerateConfigTree generates the configuration documents required to bootstrap a fabric network. A configuration file will be generated for cryptogen, configtxgen, and for each peer and orderer. The contents of the documents will be based on the Config used to create the Network.
When this method completes, the resulting tree will look something like this:
${rootDir}/configtx.yaml ${rootDir}/crypto-config.yaml ${rootDir}/orderers/orderer0.orderer-org/orderer.yaml ${rootDir}/peers/peer0.org1/core.yaml ${rootDir}/peers/peer0.org2/core.yaml ${rootDir}/peers/peer1.org1/core.yaml ${rootDir}/peers/peer1.org2/core.yaml
func (*Network) GenerateConfigTxConfig ¶
func (n *Network) GenerateConfigTxConfig()
func (*Network) GenerateCoreConfig ¶
func (*Network) GenerateCryptoConfig ¶
func (n *Network) GenerateCryptoConfig()
func (*Network) GenerateOrdererConfig ¶
func (*Network) JoinChannel ¶
JoinChannel will join peers to the specified channel. The orderer is used to obtain the current configuration block for the channel.
The orderer and listed peers must be running before this is called.
func (*Network) NetworkGroupRunner ¶
NetworkGroupRunner returns a runner that can be used to start and stop an entire fabric network.
func (*Network) OrdererAddress ¶
OrdererAddress returns the address (host and port) exposed by the Orderer for the named port. Command line tools should use the returned address when connecting to the orderer.
This assumes that the orderer is listening on 0.0.0.0 or 127.0.0.1 and is available on the loopback address.
func (*Network) OrdererAdminSession ¶ added in v1.4.0
OrdererAdminSession execute a gexec.Session as an orderer node admin user. This is used primarily to generate orderer configuration updates
func (*Network) OrdererConfigPath ¶
OrdererConfigPath returns the path to the orderer configuration document for the specified Orderer.
func (*Network) OrdererDir ¶
OrdererDir returns the path to the configuration directory for the specified Orderer.
func (*Network) OrdererGroupRunner ¶
OrdererGroupRunner returns a runner that can be used to start and stop all orderers in a network.
func (*Network) OrdererLocalCryptoDir ¶ added in v1.4.0
OrdererLocalCryptoDir returns the path to the local crypto directory for the Orderer.
func (*Network) OrdererLocalMSPDir ¶
OrdererLocalMSPDir returns the path to the local MSP directory for the Orderer.
func (*Network) OrdererLocalTLSDir ¶ added in v1.4.0
OrdererLocalTLSDir returns the path to the local TLS directory for the Orderer.
func (*Network) OrdererOrgMSPDir ¶
func (n *Network) OrdererOrgMSPDir(o *Organization) string
OrdererOrgMSPDir returns the path to the MSP directory of the Orderer organization.
func (*Network) OrdererOrgs ¶
func (n *Network) OrdererOrgs() []*Organization
OrdererOrgs returns all Organization instances that own at least one orderer.
func (*Network) OrdererPort ¶
OrdererPort returns the named port reserved for the Orderer instance.
func (*Network) OrdererRunner ¶
OrdererRunner returns an ifrit.Runner for the specified orderer. The runner can be used to start and manage an orderer process.
func (*Network) OrdererUserCert ¶ added in v1.4.4
OrdererUserCert returns the path to the certificate for the specified user in the orderer organization.
func (*Network) OrdererUserKey ¶ added in v1.4.4
OrdererUserKey returns the path to the private key for the specified user in the orderer organization.
func (*Network) OrdererUserMSPDir ¶ added in v1.4.0
OrdererUserMSPDir returns the path to the MSP directory containing the certificates and keys for the specified user of the peer.
func (*Network) OrderersInOrg ¶
OrderersInOrg returns all Orderer instances owned by the named organaiztion.
func (*Network) Organization ¶
func (n *Network) Organization(orgName string) *Organization
Organization returns the information about the named Organization.
func (*Network) OrgsForOrderers ¶
func (n *Network) OrgsForOrderers(ordererNames []string) []*Organization
OrgsForOrderers returns all Organization instances that own at least one of the named orderers.
func (*Network) OutputBlockPath ¶
OutputBlockPath returns the path to the genesis block for the named system channel.
func (*Network) PeerAddress ¶
PeerAddress returns the address (host and port) exposed by the Peer for the named port. Command line tools should use the returned address when connecting to a peer.
This assumes that the peer is listening on 0.0.0.0 and is available on the loopback address.
func (*Network) PeerAdminSession ¶
PeerAdminSession starts a gexec.Session as a peer admin for the provided peer command. This is intended to be used by short running peer cli commands that execute in the context of a peer configuration.
func (*Network) PeerConfigPath ¶
PeerConfigPath returns the path to the peer configuration document for the specified peer.
func (*Network) PeerDir ¶
PeerDir returns the path to the configuration directory for the specified Peer.
func (*Network) PeerGroupRunner ¶
PeerGroupRunner returns a runner that can be used to start and stop all peers in a network.
func (*Network) PeerLocalMSPDir ¶
PeerLocalMSPDir returns the path to the local MSP directory for the peer.
func (*Network) PeerLocalTLSDir ¶ added in v1.4.0
PeerLocalTLSDir returns the path to the local TLS directory for the peer.
func (*Network) PeerOrgMSPDir ¶
func (n *Network) PeerOrgMSPDir(org *Organization) string
PeerOrgMSPDir returns the path to the MSP directory of the Peer organization.
func (*Network) PeerOrgs ¶
func (n *Network) PeerOrgs() []*Organization
PeerOrgs returns all Organizations associated with at least one Peer.
func (*Network) PeerRunner ¶
PeerRunner returns an ifrit.Runner for the specified peer. The runner can be used to start and manage a peer process.
func (*Network) PeerUserCert ¶ added in v1.4.0
PeerUserCert returns the path to the certificate for the specified user in the peer organization.
func (*Network) PeerUserKey ¶ added in v1.4.0
PeerUserKey returns the path to the private key for the specified user in the peer organization.
func (*Network) PeerUserMSPDir ¶
PeerUserMSPDir returns the path to the MSP directory containing the certificates and keys for the specified user of the peer.
func (*Network) PeerUserSession ¶
PeerUserSession starts a gexec.Session as a peer user for the provided peer command. This is intended to be used by short running peer cli commands that execute in the context of a peer configuration.
func (*Network) PeerUserTLSDir ¶ added in v1.4.0
PeerUserTLSDir returns the path to the TLS directory containing the certificates and keys for the specified user of the peer.
func (*Network) PeersInOrg ¶
PeersInOrg returns all Peer instances that are owned by the named organization.
func (*Network) PeersWithChannel ¶
PeersWithChannel returns all Peer instances that have joined the named channel.
func (*Network) ProfileForChannel ¶ added in v1.4.0
ProfileForChannel gets the configtxgen profile name associated with the specified channel.
func (*Network) ReadConfigTxConfig ¶ added in v1.4.4
func (n *Network) ReadConfigTxConfig() *fabricconfig.ConfigTx
ReadConfigTxConfig unmarshals the configtx.yaml and returns an object approximating its contents.
func (*Network) ReadOrdererConfig ¶ added in v1.4.0
func (n *Network) ReadOrdererConfig(o *Orderer) *fabricconfig.Orderer
ReadOrdererConfig unmarshals an orderer's orderer.yaml and returns an object approximating its contents.
func (*Network) ReadPeerConfig ¶ added in v1.4.0
func (n *Network) ReadPeerConfig(p *Peer) *fabricconfig.Core
ReadPeerConfig unmarshals a peer's core.yaml and returns an object approximating its contents.
func (*Network) ReservePort ¶
ReservePort allocates the next available port.
func (*Network) StartSession ¶
StartSession executes a command session. This should be used to launch command line tools that are expected to run to completion.
func (*Network) UpdateChannelAnchors ¶ added in v1.4.0
UpdateChannelAnchors determines the anchor peers for the specified channel, creates an anchor peer update transaction for each organization, and submits the update transactions to the orderer.
func (*Network) WriteConfigTxConfig ¶ added in v1.4.4
func (n *Network) WriteConfigTxConfig(config *fabricconfig.ConfigTx)
WriteConfigTxConfig serializes the provided configuration to configtx.yaml.
func (*Network) WriteOrdererConfig ¶ added in v1.4.0
func (n *Network) WriteOrdererConfig(o *Orderer, config *fabricconfig.Orderer)
WriteOrdererConfig serializes the provided configuration as the specified orderer's orderer.yaml document.
func (*Network) WritePeerConfig ¶ added in v1.4.0
func (n *Network) WritePeerConfig(p *Peer, config *fabricconfig.Core)
WritePeerConfig serializes the provided configuration as the specified peer's core.yaml document.
type Orderer ¶
type Orderer struct { Name string `yaml:"name,omitempty"` Organization string `yaml:"organization,omitempty"` }
Orderer defines an orderer instance and its owning organization.
type OrdererCapabilities ¶ added in v1.4.4
type OrdererCapabilities struct {
V2_0 bool `yaml:"v20,omitempty"`
}
type Organization ¶
type Organization struct { MSPID string `yaml:"msp_id,omitempty"` Name string `yaml:"name,omitempty"` Domain string `yaml:"domain,omitempty"` EnableNodeOUs bool `yaml:"enable_node_organizational_units"` Users int `yaml:"users,omitempty"` CA *CA `yaml:"ca,omitempty"` }
Organization models information about an Organization. It includes the information needed to populate an MSP with cryptogen.
type Peer ¶
type Peer struct { Name string `yaml:"name,omitempty"` Organization string `yaml:"organization,omitempty"` Channels []*PeerChannel `yaml:"channels,omitempty"` }
Peer defines a peer instance, it's owning organization, and the list of channels that the peer shoudl be joined to.
type PeerChannel ¶
PeerChannel names of the channel a peer should be joined to and whether or not the peer should be an anchor for the channel.
type PortName ¶
type PortName string
func BrokerPortNames ¶
func BrokerPortNames() []PortName
BrokerPortNames returns the list of ports that need to be reserved for a Kafka broker.
func OrdererPortNames ¶
func OrdererPortNames() []PortName
OrdererPortNames returns the list of ports that need to be reserved for an Orderer.
func PeerPortNames ¶
func PeerPortNames() []PortName
PeerPortNames returns the list of ports that need to be reserved for a Peer.
type Profile ¶
type Profile struct { Name string `yaml:"name,omitempty"` Orderers []string `yaml:"orderers,omitempty"` Consortium string `yaml:"consortium,omitempty"` Organizations []string `yaml:"organizations,omitempty"` }
A profile encapsulates basic information for a configtxgen profile.
type SystemChannel ¶
type SystemChannel struct { Name string `yaml:"name,omitempty"` Profile string `yaml:"profile,omitempty"` }
The SystemChannel declares the name of the network system channel and its associated configtxgen profile name.
type Templates ¶ added in v1.4.0
type Templates struct { ConfigTx string `yaml:"configtx,omitempty"` Core string `yaml:"core,omitempty"` Crypto string `yaml:"crypto,omitempty"` Orderer string `yaml:"orderer,omitempty"` }
Templates can be used to provide custom templates to GenerateConfigTree.
func (*Templates) ConfigTxTemplate ¶ added in v1.4.0
func (*Templates) CoreTemplate ¶ added in v1.4.0
func (*Templates) CryptoTemplate ¶ added in v1.4.0
func (*Templates) OrdererTemplate ¶ added in v1.4.0
type WorkingDirer ¶
type WorkingDirer interface {
WorkingDir() string
}