editEdit on GitHub

Exonum

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 FinTech, GovTech, and LegalTech. The Exonum framework is oriented towards creating permissioned blockchains, that is, blockchains with the known set of blockchain infrastructure providers.

Exonum uses the Rust programming language to achieve utmost execution safety; service-oriented architecture to provide extensibility, flexibility, and modularity; and client-side verification based on cryptographic commitments (Merkle and Merkle Patricia trees) to ensure the transparency of the system and client security.

Get Started

Installation

Exonum is a open-source Rust library providing core functionality of the Exonum framework. It is available under the Apache 2.0 license. You may refer to the installation guide in order to install the library together with its prerequisites.

Cryptocurrency Tutorial

Cryptocurrency tutorial showcases how Exonum can be used to build a simple cryptocurrency app step by step. Besides Exonum core, the tutorial also makes use of the light client – a JavaScript library intended for client-side verification of blockchain information and for performing cryptographic operations (such as digital signing).

The source code of the tutorial is available on GitHub.

Going Deeper

Framework Design & Motivations

Refer to What is Exonum for the motivations behind building yet another permissioned blockchain framework. Design Overview takes a more technical approach and gives in-depth description of the Exonum design.

Services & Clients

The following 2 topics provide valuable insights how to develop with Exonum:

  • Services are the main building block of the Exonum architecture
  • Light clients are the main way for third-party applications to interact with the services

Tip

See the anchoring and configuration update services for the examples of real-world Exonum services, and the cryptocurrency tutorial for an example how to use the light client library.

Specifications

Exonum documentation contains in-depth discussions for numerous other aspects of the framework, such as binary serialization, storage and networking.

Contributing

See the contributing guide to get information on how to contribute to Exonum development, and the roadmap to find out what features are coming soon.