Versions in this module Expand all Collapse all v1 v1.1.1 Oct 29, 2019 Changes in this version + var ErrBlockTime = errors.New("timestamp less than or equal parent's timestamp") + var ErrFutureBlock = errors.New("block in the future") + var ErrInvalidNumber = errors.New("invalid block number") + var ErrSignature = errors.New("signature is not right") + var ErrUnknownAncestor = errors.New("unknown ancestor") + type ChainReader interface + Config func() *params.ChainConfig + CurrentHeader func() *block.Header + GetBlock func(hash types.Hash, number uint64) *block.Block + GetHeader func(hash types.Hash, number uint64) *block.Header + GetHeaderByHash func(hash types.Hash) *block.Header + GetHeaderByNumber func(number uint64) *block.Header + type Engine interface + Author func(chain ChainReader, header *block.Header) (types.Address, error) + Finalize func(chain ChainReader, header *block.Header, state *state.StateDB, ...) (*block.Block, error) + Incentive func(producer types.Address, state *state.StateDB, header *block.Header) (*transaction.Transaction, error) + Prepare func(chain ChainReader, header *block.Header) error + Seal func(chain ChainReader, block *block.Block, stop <-chan struct{}) (*block.Block, error) + VerifyHeader func(chain ChainReader, header *block.Header, seal bool) error + VerifyHeaders func(chain ChainReader, headers []*block.Header, seals []bool) (chan<- struct{}, <-chan error) + VerifySeal func(chain ChainReader, header *block.Header) error + type Engine_basic struct + func NewBasicEngine(prv *ecdsa.PrivateKey) *Engine_basic + func (basic *Engine_basic) Author(chain ChainReader, header *block.Header) (types.Address, error) + func (basic *Engine_basic) Finalize(chain ChainReader, header *block.Header, state *state.StateDB, ...) (*block.Block, error) + func (basic *Engine_basic) Incentive(producer types.Address, state *state.StateDB, header *block.Header) (*transaction.Transaction, error) + func (basic *Engine_basic) Prepare(chain ChainReader, header *block.Header) error + func (basic *Engine_basic) Seal(chain ChainReader, block *block.Block, stop <-chan struct{}) (*block.Block, error) + func (basic *Engine_basic) SetKey(prv *ecdsa.PrivateKey) + func (basic *Engine_basic) VerifyHeader(chain ChainReader, header *block.Header, seal bool) error + func (basic *Engine_basic) VerifyHeaders(chain ChainReader, headers []*block.Header, seals []bool) (chan<- struct{}, <-chan error) + func (basic *Engine_basic) VerifySeal(chain ChainReader, header *block.Header) error + type Engine_empty struct + func (empty *Engine_empty) Author(chain ChainReader, header *block.Header) (types.Address, error) + func (empty *Engine_empty) Finalize(chain ChainReader, header *block.Header, state *state.StateDB, ...) (*block.Block, error) + func (empty *Engine_empty) Incentive(producer types.Address, state *state.StateDB, header *block.Header) (*transaction.Transaction, error) + func (empty *Engine_empty) Prepare(chain ChainReader, header *block.Header) error + func (empty *Engine_empty) Seal(chain ChainReader, block *block.Block, stop <-chan struct{}) (*block.Block, error) + func (empty *Engine_empty) VerifyHeader(chain ChainReader, header *block.Header, seal bool) error + func (empty *Engine_empty) VerifyHeaders(chain ChainReader, headers []*block.Header, seals []bool) (chan<- struct{}, <-chan error) + func (empty *Engine_empty) VerifySeal(chain ChainReader, header *block.Header) error