The bdk_wallet
project provides a high level descriptor based wallet API for building Bitcoin applications.
It is built upon the excellent rust-bitcoin
and rust-miniscript
crates.
There is currently only one published crate in this repository:
wallet
: Contains the central high levelWallet
type that is built from the low-level mechanisms provided by the other components.
Crates that bdk_wallet
depends on are found in the bdk
repository.
Fully working examples of how to use these components are in /examples
:
example_wallet_esplora_blocking
: Uses theWallet
to sync and spend using the Esplora blocking interface.example_wallet_esplora_async
: Uses theWallet
to sync and spend using the Esplora asynchronous interface.example_wallet_electrum
: Uses theWallet
to sync and spend using Electrum.
The libraries in this repository maintain a MSRV of 1.63.0.
To build with the MSRV of 1.63.0 you will need to pin dependencies by running the pin-msrv.sh
script.
Licensed under either of
- Apache License, Version 2.0, (LICENSE-APACHE or https://www.apache.org/licenses/LICENSE-2.0)
- MIT license (LICENSE-MIT or https://opensource.org/licenses/MIT)
at your option.
Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.