This crate is a collection of core structures for Bitcoin Dev Kit (alpha release).
The goal of this crate is give wallets the mechanisms needed to:
- Figure out what data they need to fetch.
- Process that data in a way that never leads to inconsistent states.
- Fully index that data and expose it so that it can be consumed without friction.
Our design goals for these mechanisms are:
- 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 tellbdk_chain
's APIs about it and that information will be integrated if it can be done consistently. - Error free APIs.
- Data persistence agnostic --
bdk_chain
does not care where you cache on-chain data, what you cache or how you fetch it.