Skip to content

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 level Wallet 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 the esplora-client crate with methods to fetch chain data from an esplora HTTP server in the form that bdk_chain and Wallet can consume.
  • bdk_electrum: Extends the electrum-client crate with methods to fetch chain data from an electrum server in the form that bdk_chain and Wallet can consume.