Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type ChainHeaderReader ¶
type ChainHeaderReader interface { // Config retrieves the blockchain's chain configuration. Config() *params.ChainConfig // CurrentHeader retrieves the current header from the local chain. CurrentHeader() *mivetypes.Header // GetHeader retrieves a block header from the database by hash and number. GetHeader(hash common.Hash, number uint64) *mivetypes.Header // GetHeaderByNumber retrieves a block header from the database by number. GetHeaderByNumber(number uint64) *mivetypes.Header // GetHeaderByHash retrieves a block header from the database by its hash. GetHeaderByHash(hash common.Hash) *mivetypes.Header }
ChainHeaderReader defines a small collection of methods needed to access the local blockchain during header verification.
type Engine ¶
type Engine interface { // VerifyHeader checks whether a header conforms to the consensus rules of a // given engine. VerifyHeader(chain ChainHeaderReader, header *mivetypes.Header) error // VerifyHeaders is similar to VerifyHeader, but verifies a batch of headers // concurrently. The method returns a quit channel to abort the operations and // a results channel to retrieve the async verifications (the order is that of // the input slice). VerifyHeaders(chain ChainHeaderReader, headers []*mivetypes.Header) (chan<- struct{}, <-chan error) // APIs returns the RPC APIs this consensus engine provides. APIs(chain ChainHeaderReader) []rpc.API // Close terminates any background threads maintained by the consensus engine. Close() error }
Engine is an algorithm agnostic consensus engine.
Click to show internal directories.
Click to hide internal directories.