Documentation ¶
Index ¶
- Constants
- Variables
- func ConnectsToOrderer(c Command) bool
- func CurrentConfigBlockNumber(n *Network, peer *Peer, orderer *Orderer, channel string) uint64
- func DeployChaincode(n *Network, channel string, orderer *Orderer, chaincode Chaincode, ...)
- func DiscoverPeers(n *Network, p *Peer, user, channelName string) func() []DiscoveredPeer
- func EnsureInstantiated(n *Network, channel, name, version string, peers ...*Peer)
- func GetConfigBlock(n *Network, peer *Peer, orderer *Orderer, channel string) *common.Config
- 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 UnmarshalBlockFromFile(blockFile string) *common.Block
- func UpdateConfig(n *Network, orderer *Orderer, channel string, current, updated *common.Config, ...)
- func UpdateOrdererConfig(n *Network, orderer *Orderer, channel string, current, updated *common.Config, ...)
- 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 Consortium
- type DiscoveredPeer
- type Enver
- 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) 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)
- 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) 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) 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) 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 Organization
- type Peer
- type PeerChannel
- type PortName
- type Ports
- type Profile
- type SystemChannel
- type Templates
- type WorkingDirer
Constants ¶
const DefaultConfigTxTemplate = `` /* 3386-byte string literal not displayed */
const DefaultCoreTemplate = `` /* 5116-byte string literal not displayed */
const DefaultCryptoTemplate = `` /* 845-byte string literal not displayed */
const DefaultOrdererTemplate = `` /* 2880-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 ConnectsToOrderer ¶
func CurrentConfigBlockNumber ¶
CurrentConfigBlockNumber从 当前配置块。这可用于检测Whena配置更改 已经完成。
func DeployChaincode ¶
func DeployChaincode(n *Network, channel string, orderer *Orderer, chaincode Chaincode, peers ...*Peer)
deploychaincode是一个助手,它将向所有 连接到指定的通道,在 对等机,并等待所有对等机上的实例化完成。
注意:不应使用此助手在上部署相同的链代码 多个通道,因为安装将在随后的调用中失败。相反, 只需使用instantialchaincode()。
func DiscoverPeers ¶
func DiscoverPeers(n *Network, p *Peer, user, channelName string) func() []DiscoveredPeer
按照中的指定,使用通道名和用户对对等机运行发现服务命令发现对等机 函数参数。返回发现的对等点的切片
func EnsureInstantiated ¶
func GetConfigBlock ¶
getconfigblock检索通道的当前配置块,并 解封它。
func InstallChaincode ¶
func InstantiateChaincode ¶
func PackageChaincode ¶
func UnmarshalBlockFromFile ¶
unmashalblockfromfile从文件中取消对原型编码块的标记。
func UpdateConfig ¶
func UpdateConfig(n *Network, orderer *Orderer, channel string, current, updated *common.Config, submitter *Peer, additionalSigners ...*Peer)
updateConfig计算、签名并提交配置更新并等待 以完成更新。
Types ¶
type Channel ¶
type Channel struct { Name string `yaml:"name,omitempty"` Profile string `yaml:"profile,omitempty"` }
通道将通道名与configtxgen配置文件名关联。
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 ¶
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保存生成所需的基本信息 结构配置文件。
func BasicEtcdRaft ¶
func BasicEtcdRaft() *Config
func BasicKafka ¶
func BasicKafka() *Config
func MultiChannelEtcdRaft ¶
func MultiChannelEtcdRaft() *Config
func MultiNodeEtcdRaft ¶
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"` }
共识表明订购者类型以及经纪人和动物园管理员的数量 实例。
type Consortium ¶
type Consortium struct { Name string `yaml:"name,omitempty"` Organizations []string `yaml:"organizations,omitempty"` }
联合体是一个命名的组织集合。它用于填充 订购方生成块配置文件。
type DiscoveredPeer ¶
type DiscoveredPeer struct { MSPID string `yaml:"mspid,omitempty"` Endpoint string `yaml:"endpoint,omitempty"` Identity string `yaml:"identity,omitempty"` Chaincodes []string `yaml:"chaincodes,omitempty"` }
DiscoveredPeer定义了一个结构,用于使用发现服务发现对等点。 结果中的每个对等方都将具有这些字段
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 Orderers []*Orderer Peers []*Peer Profiles []*Profile Consortiums []*Consortium Templates *Templates // contains filtered or unexported fields }
网络包含有关结构网络的信息。
func New ¶
func New(c *Config, rootDir string, client *docker.Client, startPort int, components *Components) *Network
新建从简单配置创建网络。所有生成或管理的 网络的项目将位于rootdir下。端口将是 从指定的起始端口按顺序分配。
func (*Network) AnchorsForChannel ¶
AnchorsForchannel返回作为 命名通道。
func (*Network) AnchorsInOrg ¶
anchorsingorg返回作为至少一个频道锚定的所有对等端 在指定的组织中。
func (*Network) Bootstrap ¶
func (n *Network) Bootstrap()
引导程序生成加密材料、订购程序系统通道 并创建运行结构所需的通道事务 网络。
密码工具用于从 $rootdir/crypto-config.yaml。生成的工件将放置在 $rootdir/加密/…
gensis块是从 systemchannel.profile属性。块被写入 $rootdir/$systemchannel.name u block.pb。
为引用的每个通道生成创建通道事务 使用频道的配置文件属性的网络。交易是 写入$rootdir/$channel.name u tx.pb。
func (*Network) BrokerAddresses ¶
brokeraddresss返回网络的代理地址列表。
func (*Network) BrokerGroupRunner ¶
brokerGrouprunner返回一个管理组成的进程的运行程序 卡夫卡织物经纪人网络。
func (*Network) BrokerRunner ¶
broker runner返回kafka代理实例的运行程序。
func (*Network) CACertsBundlePath ¶
cacertsbundlepath返回的CA证书束的路径 网络。当连接到对等机时使用此捆绑包。
func (*Network) ConfigTxConfigPath ¶
configtxpath返回生成的configtxgen配置的路径 文件。
func (*Network) ConfigTxGen ¶
configtxgen为提供的configtxgen命令启动gexec.session。
func (*Network) CreateAndJoinChannel ¶
CreateAndJoinChannel将创建指定的通道。引用 然后,对等端将加入通道。
必须先运行网络,然后才能调用此网络。
func (*Network) CreateAndJoinChannels ¶
CreateAndJoinChannels将创建配置中指定的所有通道, 被同行引用。然后,引用对等点将加入到 通道(S)。
必须先运行网络,然后才能调用此网络。
func (*Network) CreateChannel ¶
CreateChannel将向 指定的订购者。渠道交易必须存在于该位置 由CreateChannelTxPath返回。
调用此命令时,订购方必须正在运行。
func (*Network) CreateChannelTxPath ¶
createChannelTxPath返回的创建通道事务的路径 指定的频道。
func (*Network) CryptoConfigPath ¶
CryptoConfigPath返回生成的加密配置的路径 文件。
func (*Network) CryptoPath ¶
cryptoPath返回到cryptogen将放置其 生成的工件。
func (*Network) DiscoveredPeer ¶
func (n *Network) DiscoveredPeer(p *Peer, chaincodes ...string) DiscoveredPeer
函数从作为参数传递的对等端和链码创建新的发现的对等端。
func (*Network) GenerateConfigTree ¶
func (n *Network) GenerateConfigTree()
GenerateConfigTree生成需要的配置文档 引导一个结构网络。将为生成配置文件 Cryptogen、configtxgen,以及每个对等机和排序器。的内容 文档将基于用于创建网络的配置。
当此方法完成时,生成的树将类似于 这是:
$rootdir/configtx.yaml $rootdir/crypto-config.yaml $rootdir/orderers/order0.order-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) NetworkGroupRunner ¶
NetworkGroupRunner返回可用于启动和停止 整个织物网络。
func (*Network) OrdererAddress ¶
orderAddress返回排序器公开的地址(主机和端口) 用于指定端口。命令行工具在 连接到订购方。
这假定订购方正在侦听0.0.0.0或127.0.0.1,并且 在环回地址上可用。
func (*Network) OrdererAdminSession ¶
医嘱管理会话作为医嘱者节点管理用户执行gexec.session。主要用于 生成医嘱者配置更新
func (*Network) OrdererConfigPath ¶
orderconfigpath返回的order配置文档的路径 指定的订购者。
func (*Network) OrdererDir ¶
orderdir返回指定的配置目录的路径 订购者。
func (*Network) OrdererGroupRunner ¶
ordergrouprunner返回可用于启动和停止所有操作的运行程序 网络中的订购者。
func (*Network) OrdererLocalCryptoDir ¶
orderLocalRyptoDir返回的本地加密目录的路径 订购者。
func (*Network) OrdererLocalMSPDir ¶
orderlocalmspdir返回的本地msp目录的路径 订购者。
func (*Network) OrdererLocalTLSDir ¶
orderLocalLSDir返回本地tls目录的路径 订购者。
func (*Network) OrdererOrgMSPDir ¶
func (n *Network) OrdererOrgMSPDir(o *Organization) string
orderorgmspdir返回排序器的msp目录的路径 组织。
func (*Network) OrdererOrgs ¶
func (n *Network) OrdererOrgs() []*Organization
orderorgs返回至少拥有一个组织实例的所有组织实例 订购者。
func (*Network) OrdererPort ¶
orderport返回为order实例保留的命名端口。
func (*Network) OrdererRunner ¶
orderrunner返回指定医嘱者的ifrit.runner。赛跑者 可用于启动和管理医嘱流程。
func (*Network) OrdererUserMSPDir ¶
orderUserMSPDir返回包含 对等机的指定用户的证书和密钥。
func (*Network) OrderersInOrg ¶
orderSinorg返回由命名的Organiztion拥有的所有order实例。
func (*Network) Organization ¶
func (n *Network) Organization(orgName string) *Organization
组织返回有关命名组织的信息。
func (*Network) OrgsForOrderers ¶
func (n *Network) OrgsForOrderers(ordererNames []string) []*Organization
ORGSForderers返回拥有至少一个 指定的订购者。
func (*Network) OutputBlockPath ¶
OutputBlockPath返回命名系统的Genesis块的路径 通道。
func (*Network) PeerAdminSession ¶
PeerAdminSession作为提供的对等管理启动gexec.session。 对等命令。这可供短时间运行的peer cli命令使用。 在对等配置上下文中执行的。
func (*Network) PeerConfigPath ¶
peerconfigPath返回的对等配置文档的路径 指定的对等体。
func (*Network) PeerGroupRunner ¶
PeerGroupRunner返回可用于启动和停止所有 网络中的对等点。
func (*Network) PeerLocalMSPDir ¶
peerlocalmspdir返回对等机的本地msp目录的路径。
func (*Network) PeerLocalTLSDir ¶
peerlocaltlsdir返回对等机的本地tls目录的路径。
func (*Network) PeerOrgMSPDir ¶
func (n *Network) PeerOrgMSPDir(org *Organization) string
peerorgmspdir返回对等组织的msp目录的路径。
func (*Network) PeerRunner ¶
PeerRunner返回指定对等机的ifrit.runner。跑步者可以 用于启动和管理对等进程。
func (*Network) PeerUserCert ¶
peerusercert返回中指定用户的证书路径 对等组织。
func (*Network) PeerUserKey ¶
PeerUserKey返回中指定用户的私钥路径。 对等组织。
func (*Network) PeerUserMSPDir ¶
peerusermspdir返回包含 对等机的指定用户的证书和密钥。
func (*Network) PeerUserSession ¶
PeerUserSession作为所提供对等机的对等用户启动gexec.session 命令。这将由短时间运行的peer cli命令使用,这些命令 在对等配置的上下文中执行。
func (*Network) PeerUserTLSDir ¶
peerusertlsdir返回包含 对等机的指定用户的证书和密钥。
func (*Network) PeersInOrg ¶
PeerSinorg返回由指定的 组织。
func (*Network) PeersWithChannel ¶
peerswithchannel返回加入已命名的 通道。
func (*Network) ProfileForChannel ¶
profileforchannel获取与 指定通道。
func (*Network) ReadOrdererConfig ¶
func (n *Network) ReadOrdererConfig(o *Orderer) *fabricconfig.Orderer
readerderconfig取消排序器的order.yaml并返回 接近其内容的对象。
func (*Network) ReadPeerConfig ¶
func (n *Network) ReadPeerConfig(p *Peer) *fabricconfig.Core
readpeerconfig取消标记对等机的core.yaml并返回一个对象 近似其内容。
func (*Network) StartSession ¶
StartSession执行命令会话。这应该用于启动 预期要运行到完成的命令行工具。
func (*Network) UpdateChannelAnchors ¶
updateChannelAnchors确定指定通道的定位点对等点, 为每个组织创建一个锚定对等更新事务,并提交 向医嘱者更新交易记录。
func (*Network) WriteOrdererConfig ¶
func (n *Network) WriteOrdererConfig(o *Orderer, config *fabricconfig.Orderer)
WriteOrdererConfig将提供的配置序列化为指定的 订购方的订购方.yaml文档。
func (*Network) WritePeerConfig ¶
func (n *Network) WritePeerConfig(p *Peer, config *fabricconfig.Core)
WritePeerConfig将提供的配置序列化为指定的 Peer的core.yaml文档。
type Orderer ¶
type Orderer struct { Name string `yaml:"name,omitempty"` Organization string `yaml:"organization,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"` }
组织为组织的信息建模。它包括 用密码填充MSP所需的信息。
type Peer ¶
type Peer struct { Name string `yaml:"name,omitempty"` Organization string `yaml:"organization,omitempty"` Channels []*PeerChannel `yaml:"channels,omitempty"` }
对等机定义对等机实例、所属组织以及 同行应该加入的渠道。
type PeerChannel ¶
对等通道应加入的通道的对等通道名称,以及 不是对等端应该是通道的锚。
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"` }
概要文件封装了configtxgen概要文件的基本信息。
type SystemChannel ¶
type SystemChannel struct { Name string `yaml:"name,omitempty"` Profile string `yaml:"profile,omitempty"` }
SystemChannel声明网络系统通道的名称及其 关联的ConfigTxGen配置文件名。
type Templates ¶
type Templates struct { ConfigTx string `yaml:"configtx,omitempty"` Core string `yaml:"core,omitempty"` Crypto string `yaml:"crypto,omitempty"` Orderer string `yaml:"orderer,omitempty"` }
模板可用于提供自定义模板以生成配置树。
func (*Templates) ConfigTxTemplate ¶
func (*Templates) CoreTemplate ¶
func (*Templates) CryptoTemplate ¶
func (*Templates) OrdererTemplate ¶
type WorkingDirer ¶
type WorkingDirer interface {
WorkingDir() string
}