Expand description
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:
Crate | Exported name | Description |
---|---|---|
exonum-crypto | crypto | Cryptographic utils used by Exonum |
exonum-merkledb | merkledb | Storage engine with Merkelized data |
exonum-keys | keys | Key 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.