5 releases (breaking)

0.6.0 Sep 30, 2021
0.5.0 Aug 9, 2021
0.4.0 Mar 17, 2021
0.3.0 Feb 17, 2021
0.2.0 Dec 21, 2020

#4 in #bdk

Download history 3748/week @ 2023-06-06 3839/week @ 2023-06-13 5470/week @ 2023-06-20 2904/week @ 2023-06-27 3994/week @ 2023-07-04 4118/week @ 2023-07-11 4445/week @ 2023-07-18 3480/week @ 2023-07-25 3973/week @ 2023-08-01 4744/week @ 2023-08-08 4580/week @ 2023-08-15 4132/week @ 2023-08-22 3719/week @ 2023-08-29 4578/week @ 2023-09-05 4164/week @ 2023-09-12 3920/week @ 2023-09-19

17,099 downloads per month
Used in 21 crates (7 directly)

MIT/Apache

6KB
103 lines

The Bitcoin Dev Kit

BDK

A modern, lightweight, descriptor-based wallet library written in Rust!

Crate Info MIT or Apache-2.0 Licensed CI Status API Docs Rustc Version 1.57.0+ Chat on Discord

Project Homepage | Documentation

About

The bdk libraries aims to provide well engineered and reviewed components for Bitcoin based applications. It is built upon the excellent rust-bitcoin and rust-miniscript crates.

⚠ The Bitcoin Dev Kit developers are in the process of releasing a v1.0 which is a fundamental re-write of how the library works. See for some background on this project: https://bitcoindevkit.org/blog/road-to-bdk-1/ (ignore the timeline 😁) For a release timeline see the bdk_core_staging repo where a lot of the component work is being done. The plan is that everything in the bdk_core_staging repo will be moved into the crates directory here.

Architecture

The project is split up into several crates in the /crates directory:

  • bdk: Contains the central high level Wallet type that is built from the low-level mechanisms provided by the other components
  • chain: Tools for storing and indexing chain data
  • file_store: A (experimental) persistence backend for storing chain data in a single file.
  • 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.
  • 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.

Fully working examples of how to use these components are in /example-crates

Dependencies

~1–1.2MB
~30K SLoC