Expand description

Database types

This module provides the implementation of some defaults database types, along with traits that can be implemented externally to let Wallets use customized databases.

It’s important to note that the databases defined here only contains “blockchain-related” data. They can be seen more as a cache than a critical piece of storage that contains secrets and keys.

The currently recommended database is [sled], which is a pretty simple key-value embedded database written in Rust. If the key-value-db feature is enabled (which by default is), this library automatically implements all the required traits for [sled::Tree].


pub use any::AnyDatabase;
pub use any::AnyDatabaseConfig;
pub use memory::MemoryDatabase;


Runtime-checked database types

In-memory ephemeral database


Sqlite database stored on filesystem

Blockchain state at the time of syncing


Trait for a database that supports batch operations

Trait for operations that can be batched

Trait for Database types that can be created given a configuration

Trait for reading data from a database