multichannel

package
v0.0.0-...-fbe82ab Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Mar 16, 2019 License: Apache-2.0 Imports: 18 Imported by: 0

Documentation

Overview

包多通道跟踪医嘱者的通道资源。它最初 加载现有通道集,并为这些通道的用户提供接口 检索它们的通道,或创建新的通道。

Index

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) Sequence

func (cs *ChainSupport) Sequence() uint64

序列传递给基础configtx.validator

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) ChannelsCount

func (r *Registrar) ChannelsCount() int

channelsCount返回当前频道总数的计数。

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 (r *Registrar) Initialize(consenters map[string]consensus.Consenter)

func (*Registrar) NewChannelConfig

func (r *Registrar) NewChannelConfig(envConfigUpdate *cb.Envelope) (channelconfig.Resources, error)

new channel config根据系统通道的当前配置生成新的模板通道配置。

func (*Registrar) SystemChannelID

func (r *Registrar) SystemChannelID() string

SystemChannelID返回系统通道的通道ID。

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL