[][src]Module exonum::blockchain

Building blocks for creating blockchains powered by the Exonum framework.

Re-exports

pub use self::config::ConsensusConfig;
pub use self::config::ConsensusConfigBuilder;
pub use self::config::ValidatorKeys;

Modules

config

Exonum blockchain configuration.

Structs

AdditionalHeaders

Expandable set of headers allowed to be added to the block.

ApiSender

Asynchronous sender of messages (transactions by default). The receiver of messages is usually an Exonum node, which then processes them with the consensus algorithm.

Block

Header of a block.

BlockParams

Block metadata provided to BlockchainMut::create_patch by the consensus algorithm.

BlockPatch

Opaque database patch corresponding to a block of transactions.

BlockProof

Block with its Precommit messages.

Blockchain

Shared Exonum blockchain instance.

BlockchainBuilder

The object responsible for the correct Exonum blockchain creation from the components.

BlockchainMut

Mutable blockchain capable of processing transactions.

CallErrorsIter

Iterator over errors in a block returned by CallRecords::errors().

CallProof

Proof of authenticity for a single top-level call in a block, such as a transaction.

CallRecords

Information about call errors within a specific block.

Epoch

Epoch of the consensus algorithm. This field must be present in all correctly formed blocks.

IndexProof

Proof of authenticity for a single index within the database.

PersistentPool

Persistent transaction pool that uses both a provided ephemeral cache and the cache persisting in the node database.

ProposerId

Identifier of a proposer of the block.

Schema

Information schema for indexes maintained by the Exonum core logic.

SendError

Errors that can occur during sending a message to the node via ApiSender.

SkipFlag

Flag indicating a block skip. This flag is not set for normal blocks.

TxLocation

Transaction location in a block. Defines the block where the transaction was included and the position of this transaction in the block.

Enums

BlockContents

Contents of a block, defining how the block is applied to the blockchain state.

BlockKind

Block kind, acting as an abridged version of BlockContents.

CallInBlock

Location of an isolated call within a block.

ProofError

Errors that can occur during verification of BlockProofs, IndexProofs and CallProofs.

Traits

BlockHeaderKey

Trait that represents a key in block header entry map. Provides a mapping between NAME of the entry and its value.

TransactionCache

Container for transactions allowing to look them up by hash digest.

Type Definitions

Transactions

Iterator type for transactions in TransactionCache.