Documentation ¶
Index ¶
- func GetConstructor(cfg *config.ConsensusConfig, hub *component.ComponentHub, ...) consensus.Constructor
- type SimpleBlockFactory
- func (s *SimpleBlockFactory) BlockFactory() consensus.BlockFactory
- func (s *SimpleBlockFactory) IsBlockValid(*types.Block, *types.Block) error
- func (s *SimpleBlockFactory) IsTransactionValid(tx *types.Tx) bool
- func (s *SimpleBlockFactory) JobQueue() chan<- interface{}
- func (s *SimpleBlockFactory) NeedReorganization(rootNo types.BlockNo) bool
- func (s *SimpleBlockFactory) QueueJob(now time.Time, jq chan<- interface{})
- func (s *SimpleBlockFactory) QuitChan() chan interface{}
- func (s *SimpleBlockFactory) Save(tx db.Transaction) error
- func (s *SimpleBlockFactory) SetChainAccessor(chainAccessor types.ChainAccessor)
- func (s *SimpleBlockFactory) SetStateDB(sdb *state.ChainStateDB)
- func (s *SimpleBlockFactory) Start()
- func (s *SimpleBlockFactory) Ticker() *time.Ticker
- func (s *SimpleBlockFactory) Update(block *types.Block)
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func GetConstructor ¶ added in v0.9.4
func GetConstructor(cfg *config.ConsensusConfig, hub *component.ComponentHub, cdb consensus.ChainDB) consensus.Constructor
GetConstructor build and returns consensus.Constructor from New function.
Types ¶
type SimpleBlockFactory ¶
type SimpleBlockFactory struct { *component.ComponentHub // contains filtered or unexported fields }
SimpleBlockFactory implments a simple block factory which generate block each cfg.Consensus.BlockInterval.
This can be used for testing purpose.
func New ¶
func New(cfg *config.ConsensusConfig, hub *component.ComponentHub) (*SimpleBlockFactory, error)
New returns a SimpleBlockFactory.
func (*SimpleBlockFactory) BlockFactory ¶
func (s *SimpleBlockFactory) BlockFactory() consensus.BlockFactory
BlockFactory returns s itself.
func (*SimpleBlockFactory) IsBlockValid ¶
IsBlockValid checks the consensus level validity of a block.
func (*SimpleBlockFactory) IsTransactionValid ¶
func (s *SimpleBlockFactory) IsTransactionValid(tx *types.Tx) bool
IsTransactionValid checks the onsensus level validity of a transaction
func (*SimpleBlockFactory) JobQueue ¶
func (s *SimpleBlockFactory) JobQueue() chan<- interface{}
JobQueue returns the queue for block production triggering.
func (*SimpleBlockFactory) NeedReorganization ¶
func (s *SimpleBlockFactory) NeedReorganization(rootNo types.BlockNo) bool
NeedReorganization has nothing to do.
func (*SimpleBlockFactory) QueueJob ¶
func (s *SimpleBlockFactory) QueueJob(now time.Time, jq chan<- interface{})
QueueJob send a block triggering information to jq.
func (*SimpleBlockFactory) QuitChan ¶
func (s *SimpleBlockFactory) QuitChan() chan interface{}
QuitChan returns the channel from which consensus-related goroutines check when shutdown is initiated.
func (*SimpleBlockFactory) Save ¶
func (s *SimpleBlockFactory) Save(tx db.Transaction) error
Save has nothging to do.
func (*SimpleBlockFactory) SetChainAccessor ¶
func (s *SimpleBlockFactory) SetChainAccessor(chainAccessor types.ChainAccessor)
func (*SimpleBlockFactory) SetStateDB ¶
func (s *SimpleBlockFactory) SetStateDB(sdb *state.ChainStateDB)
SetStateDB do nothing in the simple block factory, which do not execute transactions at all.
func (*SimpleBlockFactory) Start ¶
func (s *SimpleBlockFactory) Start()
Start run a simple block factory service.
func (*SimpleBlockFactory) Ticker ¶
func (s *SimpleBlockFactory) Ticker() *time.Ticker
Ticker returns a time.Ticker for the main consensus loop.
func (*SimpleBlockFactory) Update ¶
func (s *SimpleBlockFactory) Update(block *types.Block)
Update has nothging to do.