Module exonum::blockchain [] [src]

The module containing building blocks for creating blockchains powered by the Exonum framework.

Services are the main extension point for the Exonum framework. To create your own service on top of Exonum blockchain you need to define following things:

  • Define your own information schema.
  • Create one or more types of messages using a macro message! and implement Transaction trait for them.
  • Create data structure that implements Service trait.
  • Optionally you can write api handlers.

You may follow the minibank tutorial to get experience of programming your services.

Reexports

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

Modules

config

Exonum global variables which stored in blockchain as utf8 encoded json.

Structs

ApiContext

Provides the current node state to api handlers.

Block

Exonum block data structure. Block is essentially a list of transactions, which is a result of the consensus algorithm (thus authenticated by the supermajority of validators) and is applied atomically to the blockchain state.

BlockProof

Block with pre-commits.

Blockchain

Exonum blockchain instance with the concrete services set and data storage. Only blockchains with the identical set of services and genesis block can be combined into the single network.

GenesisConfig

The initial exonum-core configuration which is committed into the genesis block.

Schema

Information schema for exonum-core.

ServiceContext

The current node state on which the blockchain is running, or in other words execution context.

SharedNodeState

Shared part of the context, used to take some values from the Nodes State should be used to take some metrics.

TxLocation

Transaction location in block.

Constants

SCHEMA_MAJOR_VERSION

Current core information schema version.

Traits

Service

A trait that describes a business-logic of the concrete service.

Transaction

A trait that describes transaction processing rules (a group of sequential operations with the Exonum storage) for the given Message.

Functions

gen_prefix

Generates prefix that combines service identifier, table identifier and given suffix.