Module ethcore::engines [] [src]

Consensus engine specification and basic implementations.

Re-exports

pub use self::epoch::EpochVerifier;
pub use self::epoch::Transition as EpochTransition;

Modules

block_reward

A module with types for declaring block rewards and a client interface for interacting with a block reward contract.

epoch

Epoch verifiers and transitions.

Structs

AuthorityRound

Engine using AuthorityRound proof-of-authority BFT consensus.

BasicAuthority

Engine using BasicAuthority, trivial proof-of-authority consensus.

InstantSeal

An engine which does not provide any consensus mechanism, just seals blocks internally. Only seals blocks which have transactions.

NullEngine

An engine which does not provide any consensus mechanism and does not seal blocks.

Tendermint

Engine using Tendermint consensus algorithm, suitable for EVM chain.

Enums

ConstructedVerifier

Generated epoch verifier.

EngineError

Voting errors.

EpochChange

Results of a query of whether an epoch change occurred at the given block.

ForkChoice

Fork choice.

Proof

Proof generated on epoch change.

Seal

Seal type.

Constants

DEFAULT_BLOCKHASH_CONTRACT

Default EIP-210 contract code. As defined in https://github.com/ethereum/EIPs/pull/210

Traits

Engine

A consensus mechanism for the chain. Generally either proof-of-work or proof-of-stake-based. Provides hooks into each of the major parts of block import.

EthEngine

Common type alias for an engine coupled with an Ethereum-like state machine.

StateDependentProof

Proof dependent on state.

Functions

total_difficulty_fork_choice

Check whether a given block is the best block based on the default total difficulty rule.

Type Definitions

Headers

Type alias for a function we can get headers by hash through.

PendingTransitionStore

Type alias for a function we can query pending transitions by block hash through.

SystemCall

A system-calling closure. Enacts calls on a block's state from the system address.