Documentation ¶
Index ¶
- func Init(cfg *config.ConsensusConfig)
- func New(cfg *config.Config, hub *component.ComponentHub) (consensus.Consensus, error)
- type BlockFactory
- type DPoS
- func (dpos *DPoS) BlockFactory() consensus.BlockFactory
- func (dpos *DPoS) IsBlockValid(block *types.Block, bestBlock *types.Block) error
- func (dpos *DPoS) IsTransactionValid(tx *types.Tx) bool
- func (dpos *DPoS) QueueJob(now time.Time, jq chan<- interface{})
- func (dpos *DPoS) QuitChan() chan interface{}
- func (dpos *DPoS) SetChainAccessor(chainAccessor types.ChainAccessor)
- func (dpos *DPoS) SetStateDB(sdb *state.ChainStateDB)
- func (dpos *DPoS) Ticker() *time.Ticker
- type Status
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
Types ¶
type BlockFactory ¶
type BlockFactory struct { *component.ComponentHub ID string // contains filtered or unexported fields }
BlockFactory is the main data structure for DPoS block factory.
func NewBlockFactory ¶
func NewBlockFactory(hub *component.ComponentHub, quitC <-chan interface{}) *BlockFactory
NewBlockFactory returns a new BlockFactory
func (*BlockFactory) JobQueue ¶
func (bf *BlockFactory) JobQueue() chan<- interface{}
JobQueue returns the queue for block production triggering.
func (*BlockFactory) Start ¶
func (bf *BlockFactory) Start()
Start run a DPoS block factory service.
type DPoS ¶
type DPoS struct { *Status *component.ComponentHub // contains filtered or unexported fields }
DPoS is the main data structure of DPoS consensus
func (*DPoS) BlockFactory ¶
func (dpos *DPoS) BlockFactory() consensus.BlockFactory
BlockFactory returns the BlockFactory interface in dpos.
func (*DPoS) IsBlockValid ¶
IsBlockValid checks the DPoS consensus level validity of a block
func (*DPoS) IsTransactionValid ¶
IsTransactionValid checks the DPoS consensus level validity of a transaction
func (*DPoS) QuitChan ¶
func (dpos *DPoS) QuitChan() chan interface{}
QuitChan returns the channel from which consensus-related goroutines check when shutdown is initiated.
func (*DPoS) SetChainAccessor ¶
func (dpos *DPoS) SetChainAccessor(chainAccessor types.ChainAccessor)
SetChainAccessor sets dpost.ca to chainAccessor
func (*DPoS) SetStateDB ¶
func (dpos *DPoS) SetStateDB(sdb *state.ChainStateDB)
SetStateDB sets sdb to the corresponding field of DPoS. This method is called only once during the boot sequence.
type Status ¶
Status manages DPoS-related infomations like LIB.
func (*Status) Init ¶
func (s *Status) Init(cdb consensus.ChainDbReader)
Init recovers the last DPoS status including pre-LIB map and confirms list between LIB and the best block.
func (*Status) NeedReorganization ¶
NeedReorganization reports whether reorganization is needed or not.