Module bdk::database

source ·
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