Documentation ¶
Overview ¶
包多通道跟踪医嘱者的通道资源。它最初 加载现有通道集,并为这些通道的用户提供接口 检索它们的通道,或创建新的通道。
Index ¶
- type BlockWriter
- type ChainSupport
- func (cs *ChainSupport) Block(number uint64) *cb.Block
- func (cs *ChainSupport) BlockCutter() blockcutter.Receiver
- func (cs *ChainSupport) ChainID() string
- func (cs *ChainSupport) ConfigProto() *cb.Config
- func (cs *ChainSupport) ProposeConfigUpdate(configtx *cb.Envelope) (*cb.ConfigEnvelope, error)
- func (cs *ChainSupport) Reader() blockledger.Reader
- func (cs *ChainSupport) Sequence() uint64
- func (cs *ChainSupport) Signer() crypto.LocalSigner
- func (cs *ChainSupport) Validate(configEnv *cb.ConfigEnvelope) error
- func (cs *ChainSupport) VerifyBlockSignature(sd []*cb.SignedData, envelope *cb.ConfigEnvelope) error
- type Registrar
- func (r *Registrar) BroadcastChannelSupport(msg *cb.Envelope) (*cb.ChannelHeader, bool, *ChainSupport, error)
- func (r *Registrar) ChannelsCount() int
- func (r *Registrar) CreateBundle(channelID string, config *cb.Config) (channelconfig.Resources, error)
- func (r *Registrar) GetChain(chainID string) *ChainSupport
- func (r *Registrar) Initialize(consenters map[string]consensus.Consenter)
- func (r *Registrar) NewChannelConfig(envConfigUpdate *cb.Envelope) (channelconfig.Resources, error)
- func (r *Registrar) SystemChannelID() string
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type BlockWriter ¶
type BlockWriter struct {
// contains filtered or unexported fields
}
BlockWriter有效地将区块链写入磁盘。 为了安全地使用BlockWriter,只有一个线程应该与之交互。 BlockWriter将生成其他提交Go例程并处理锁定 这样其他的go例程就可以与调用的例程安全地交互。
func (*BlockWriter) CreateNextBlock ¶
func (bw *BlockWriter) CreateNextBlock(messages []*cb.Envelope) *cb.Block
createnextblock创建具有下一个块号和给定内容的新块。
func (*BlockWriter) WriteBlock ¶
func (bw *BlockWriter) WriteBlock(block *cb.Block, encodedMetadataValue []byte)
应为包含正常事务的块调用WriteBlock。 它将目标块设置为挂起的下一个块,并在提交前返回。 返回之前,它获取提交锁,并生成一个go例程,该例程将 用元数据和签名注释块,并将块写入分类帐 然后松开锁。这允许调用线程开始组装下一个块 在提交阶段完成之前。
func (*BlockWriter) WriteConfigBlock ¶
func (bw *BlockWriter) WriteConfigBlock(block *cb.Block, encodedMetadataValue []byte)
应为包含配置事务的块调用WriteConfigBlock。 此调用将被阻止,直到新配置生效,然后返回 当块异步写入磁盘时。
type ChainSupport ¶
type ChainSupport struct { msgprocessor.Processor *BlockWriter consensus.Chain crypto.LocalSigner // contains filtered or unexported fields }
ChainSupport保存特定通道的资源。
func (*ChainSupport) Block ¶
func (cs *ChainSupport) Block(number uint64) *cb.Block
block返回具有以下数字的块, 如果不存在这样的块,则为零。
func (*ChainSupport) BlockCutter ¶
func (cs *ChainSupport) BlockCutter() blockcutter.Receiver
BlockCutter返回此通道的BlockCutter.Receiver实例。
func (*ChainSupport) ChainID ¶
func (cs *ChainSupport) ChainID() string
chainID传递到基础configtx.validator
func (*ChainSupport) ConfigProto ¶
func (cs *ChainSupport) ConfigProto() *cb.Config
configproto传递到基础configtx.validator
func (*ChainSupport) ProposeConfigUpdate ¶
func (cs *ChainSupport) ProposeConfigUpdate(configtx *cb.Envelope) (*cb.ConfigEnvelope, error)
ProposeConfigUpdate传递到基础configtx.validator
func (*ChainSupport) Reader ¶
func (cs *ChainSupport) Reader() blockledger.Reader
func (*ChainSupport) Signer ¶
func (cs *ChainSupport) Signer() crypto.LocalSigner
signer返回此通道的crypto.localsigner。
func (*ChainSupport) Validate ¶
func (cs *ChainSupport) Validate(configEnv *cb.ConfigEnvelope) error
验证传递到基础configtx.validator
func (*ChainSupport) VerifyBlockSignature ¶
func (cs *ChainSupport) VerifyBlockSignature(sd []*cb.SignedData, envelope *cb.ConfigEnvelope) error
verifyblocksignature验证块的签名。 它有一个配置信封的可选参数 这将使块验证使用验证规则 基于配置开发中的给定配置。 如果传递的配置信封为零,则使用验证规则 是在提交前一个块时应用的。
type Registrar ¶
type Registrar struct {
// contains filtered or unexported fields
}
注册器是单个渠道资源的访问和控制点。
func NewRegistrar ¶
func NewRegistrar(ledgerFactory blockledger.Factory, signer crypto.LocalSigner, metricsProvider metrics.Provider, callbacks ...func(bundle *channelconfig.Bundle)) *Registrar
NewRegistrar生成一个*注册器的实例。
func (*Registrar) BroadcastChannelSupport ¶
func (r *Registrar) BroadcastChannelSupport(msg *cb.Envelope) (*cb.ChannelHeader, bool, *ChainSupport, error)
BroadcastChannelSupport返回消息通道头,无论该消息是否为配置更新 如果消息不是可以 直接处理(如配置和订购者事务消息)
func (*Registrar) CreateBundle ¶
func (r *Registrar) CreateBundle(channelID string, config *cb.Config) (channelconfig.Resources, error)
createBundle调用channelConfig.newbundle
func (*Registrar) GetChain ¶
func (r *Registrar) GetChain(chainID string) *ChainSupport
getchain检索链的链支持(如果存在)
func (*Registrar) Initialize ¶
func (*Registrar) NewChannelConfig ¶
new channel config根据系统通道的当前配置生成新的模板通道配置。
func (*Registrar) SystemChannelID ¶
SystemChannelID返回系统通道的通道ID。