Versions in this module Expand all Collapse all v1 v1.7.3 Apr 18, 2018 Changes in this version + var ErrFutureBlock = errors.New("block in the future") + var ErrInvalidNumber = errors.New("invalid block number") + var ErrUnknownAncestor = errors.New("unknown ancestor") + type ChainReader interface + Config func() *params.ChainConfig + CurrentHeader func() *types.Header + GetBlock func(hash common.Hash, number uint64) *types.Block + GetHeader func(hash common.Hash, number uint64) *types.Header + GetHeaderByHash func(hash common.Hash) *types.Header + GetHeaderByNumber func(number uint64) *types.Header + type Engine interface + APIs func(chain ChainReader) []rpc.API + Author func(header *types.Header) (common.Address, error) + Finalize func(chain ChainReader, header *types.Header, state *state.StateDB, ...) (*types.Block, error) + Prepare func(chain ChainReader, header *types.Header) error + Seal func(chain ChainReader, block *types.Block, stop <-chan struct{}) (*types.Block, error) + VerifyHeader func(chain ChainReader, header *types.Header, seal bool) error + VerifyHeaders func(chain ChainReader, headers []*types.Header, seals []bool) (chan<- struct{}, <-chan error) + VerifySeal func(chain ChainReader, header *types.Header) error + VerifyUncles func(chain ChainReader, block *types.Block) error + type PoW interface + Hashrate func() float64