Expand description

Common utilities for building and using consensus engines in substrate.

Much of this crate is unstable and thus the API is likely to undergo change. Implementors of traits should not rely on the interfaces to remain the same.

Re-exports

pub use self::error::Error;
pub use block_import::BlockImport;
pub use block_import::BlockOrigin;
pub use block_import::ForkChoiceStrategy;
pub use block_import::ImportedAux;
pub use block_import::BlockImportParams;
pub use block_import::BlockCheckParams;
pub use block_import::ImportResult;
pub use block_import::JustificationImport;
pub use import_queue::DefaultImportQueue;

Modules

Block import helpers.

Block announcement validation.

Error types in Consensus

Block evaluation and evaluation errors.

Import Queue primitive: something which can verify and import blocks.

Tracks offline validators.

Structs

Returns always true for can_author_with. This is useful for tests.

Checks if the node can author blocks by using NativeVersion::can_author_with.

Inherent data to include in a block.

Never can author.

A synchronization oracle for when there is no network.

A proposal that is created by a Proposer.

Enums

Block status.

Used as parameter to Proposer to tell the requirement on recording a proof.

Traits

Checks if the current active native block authoring implementation can author with the runtime at the given block.

Environment for a Consensus instance.

Logic for a proposer.

The SelectChain trait defines the strategy upon which the head is chosen if multiple forks are present for an opaque definition of “best” in the specific chain build.

A type from which a slot duration can be obtained.

A state backend is used to read state data and can have changes committed to it.

An oracle for when major synchronization work is being undertaken.