Project Organization
Within the bitcoindevkit
GitHub organization, the BDK team maintains a suite of Rust crates which provide both easy-to-use high level APIs and powerful lower level components to use when building more advanced bitcoin software.
Source Code
The core project is split up into several crates in the bdk/crates
directory:
bdk_wallet
: Contains the central high levelWallet
type that is built from the low-level mechanisms provided by the other components.bdk_chain
: Tools for storing and indexing chain data.bdk_file_store
: A persistence backend for storing chain data in a single file.bdk_sqlite
: A simple SQLite relational database client for persisting bdk_chain data.bdk_esplora
: Extends theesplora-client
crate with methods to fetch chain data from an esplora HTTP server in the form thatbdk_chain
andWallet
can consume.bdk_electrum
: Extends theelectrum-client
crate with methods to fetch chain data from an electrum server in the form thatbdk_chain
andWallet
can consume.