Skip to content

MerkleDB is a document-oriented persistent storage which provides APIs to work with merkelized data structures. Under the hood, MerkleDB uses RocksDB as a key-value storage. MerkleDB borns as a fork of Exonum MerkleDB to better isolate a useful component that is often required by other blockchains implementation.

License

Notifications You must be signed in to change notification settings

affidaty-blockchain/merkledb

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

MerkleDB

MerkleDB is a document-oriented persistent storage which provides APIs to work with merkelized data structures. Under the hood, MerkleDB uses RocksDB as a key-value storage.

MerkleDB borns as a fork of Exonum (MerkleDB)[https://github.com/exonum/exonum] to better isolate a useful component that is often required by other blockchains implementation.

Features

  • Supports list, map and set collections (aka indexes), as well as singular elements. Further, indexes can be organized into groups, allowing to create hierarchies of documents with arbitrary nesting.
  • Automated state aggregation of top-level indexes into a single state hash, which reflects the entire database state.
  • Ability to define data layouts in an intuitive, declarative format.
  • Basic support of transactions: changes to the storage can be aggregated into a fork and then merged to the database atomically.
  • Access control leveraging the Rust type system, allowing to precisely define access privileges for different actors.
  • First-class support of long-running, fault-tolerant data migrations running concurrently with other I/O to the storage.

Usage

Include merkledb as a dependency in your Cargo.toml:

See the description in Exonum docs for a more detailed overview, and the examples for the examples of usage.

License

merkledb is licensed under the Apache License (Version 2.0). See LICENSE for details.

About

MerkleDB is a document-oriented persistent storage which provides APIs to work with merkelized data structures. Under the hood, MerkleDB uses RocksDB as a key-value storage. MerkleDB borns as a fork of Exonum MerkleDB to better isolate a useful component that is often required by other blockchains implementation.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages