20 breaking releases

0.21.1 Dec 19, 2024
0.20.0 Oct 2, 2024
0.17.0 Jul 22, 2024
0.11.0 Mar 5, 2024
0.4.0 Mar 20, 2023

#38 in #descriptor

Download history 2370/week @ 2024-10-24 3316/week @ 2024-10-31 3802/week @ 2024-11-07 3859/week @ 2024-11-14 3285/week @ 2024-11-21 3104/week @ 2024-11-28 4772/week @ 2024-12-05 4053/week @ 2024-12-12 2125/week @ 2024-12-19 1454/week @ 2024-12-26 3174/week @ 2025-01-02 3545/week @ 2025-01-09 4022/week @ 2025-01-16 3574/week @ 2025-01-23 4019/week @ 2025-01-30 4314/week @ 2025-02-06

16,702 downloads per month
Used in 20 crates (7 directly)

MIT/Apache

260KB
4.5K SLoC

BDK Chain

BDK keychain tracker, tools for storing and indexing chain data.


lib.rs:

This crate is a collection of core structures for Bitcoin Dev Kit.

The goal of this crate is to give wallets the mechanisms needed to:

  1. Figure out what data they need to fetch.
  2. Process the data in a way that never leads to inconsistent states.
  3. Fully index that data and expose it to be consumed without friction.

Our design goals for these mechanisms are:

  1. Data source agnostic -- nothing in bdk_chain cares about where you get data from or whether you do it synchronously or asynchronously. If you know a fact about the blockchain, you can just tell bdk_chain's APIs about it, and that information will be integrated, if it can be done consistently.
  2. Data persistence agnostic -- bdk_chain does not care where you cache on-chain data, what you cache or how you retrieve it from persistent storage.

Dependencies

~11–15MB
~206K SLoC