[][src]Crate exonum

Core library for the Exonum blockchain framework.

Exonum is an extensible open-source framework for creating blockchain applications. Exonum can be used to create cryptographically powered distributed ledgers in virtually any problem domain, including finance, governance, and legal. The Exonum framework is oriented towards creating permissioned blockchains, that is, blockchains with the known set of blockchain infrastructure providers.

For more information about the framework see the readme and the Exonum website.

Crate Overview

This crate provides the fundamentals for Exonum nodes, such as tools to store and access data in the blockchain, means for handling transactions and evolve the blockchain with time (e.g., add new business logic or perform data migrations).

Re-exports

The crate re-exports the following crates:

CrateExported nameDescription
exonum-cryptocryptoCryptographic utils used by Exonum
exonum-merkledbmerkledbStorage engine with Merkelized data
exonum-keyskeysKey tools for Exonum nodes

Blockchain Management

The crate provides basic tools to build Exonum nodes (blockchain and messages modules), although the bulk of the node logic is placed in a dedicated crate.

Runtimes

Runtimes are a way to attach user-provided business logic to an Exonum blockchain. This logic, bundled in services, allows to process user transactions and interact with the blockchain in other ways (e.g., via HTTP API).

Exonum provides a generic interface for runtimes, which allows to implement services in different programming languages, for example Rust and Java.

Examples

See the GitHub repository for examples.

Re-exports

pub use exonum_crypto as crypto;
pub use exonum_keys as keys;
pub use exonum_merkledb as merkledb;

Modules

blockchain

Building blocks for creating blockchains powered by the Exonum framework.

helpers

Different assorted utilities.

messages

Tools for messages authenticated with the Ed25519 public-key crypto system. These messages are used by the P2P networking and for transaction authentication by external clients.

runtime

Common building blocks that compose runtimes for the Exonum blockchain.