Struct ethcore::engines::Tendermint[][src]

pub struct Tendermint { /* fields omitted */ }

Engine using Tendermint consensus algorithm, suitable for EVM chain.

Methods

impl Tendermint
[src]

Create a new instance of Tendermint engine

Trait Implementations

impl Engine<EthereumMachine> for Tendermint
[src]

The name of this engine.

(consensus view, proposal signature, authority signatures)

Get access to the underlying state machine.

Maximum number of uncles a block is allowed to declare.

The number of generations back that uncles can be.

Populate a header's fields based on its parent's header. Usually implements the chain scoring rule based on weight. Read more

Should this node participate.

Attempt to seal generate a proposal seal.

This operation is synchronous and may (quite reasonably) not be available, in which case Seal::None will be returned.

Handle any potential consensus messages; updating consensus state and potentially issuing a new one. Read more

Block transformation functions, before the transactions. epoch_begin set to true if this block kicks off an epoch. Read more

Apply the block reward on finalisation of the block.

Verify a locally-generated seal of a header. Read more

Phase 1 quick block verification. Only does checks that are cheap. Returns either a null Ok or a general error detailing the problem with import.

Phase 4 verification. Verify block header against potentially external data. Should only be called when register_client has been called previously. Read more

Whether an epoch change is signalled at the given header but will require finality. If a change can be enacted immediately then return No from this function but Yes from is_epoch_end. Read more

Whether a block is the end of an epoch. Read more

Create an epoch verifier from validation proof and a flag indicating whether finality is required. Read more

Register an account which signs consensus messages.

Sign using the EngineSigner, to be used for consensus tx signing.

Create a factory for building snapshot chunks and restoring from them. Returning None indicates that this engine doesn't support snapshot creation. Read more

Stops any services that the may hold the Engine and makes it safe to drop.

Find out if the block is a proposal block and should not be inserted into the DB. Takes a header of a fully verified block. Read more

Equivalent to a timeout: to be used for tests.

Add Client which can be used for sealing, potentially querying the state and sending messages.

Check whether the given new block is the best block, after finalization check.

Additional engine-specific information for the user/developer concerning header.

Phase 2 verification. Perform costly checks such as transaction signatures. Returns either a null Ok or a general error detailing the problem with import.

Phase 3 verification. Check block information against parent. Returns either a null Ok or a general error detailing the problem with import.

Genesis epoch data.

Whether this engine supports warp sync.

Return a new open block header timestamp based on the parent timestamp.

Check whether the parent timestamp is valid.

Important traits for Vec<u8>

Gather all ancestry actions. Called at the last stage when a block is committed. The Engine must guarantee that the ancestry exists. Read more

Auto Trait Implementations

impl Send for Tendermint

impl Sync for Tendermint