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 implementTransaction
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 |
Schema |
Information schema for |
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 |
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 |
Functions
gen_prefix |
Generates prefix that combines service identifier, table identifier and given suffix. |