The bdk libraries aim to provide well engineered and reviewed components for Bitcoin wallets and other applications. They are built upon the excellent rust-bitcoin and rust-miniscript crates.
The workspace in this repository contains several crates in the /crates directory:
Sub-Directory Description Badges chain Tools for storing and indexing chain data.The bdk_wallet repository and crate contains a higher level Wallet type that depends on the above lower-level mechanism crates.
Fully working examples of how to use these components are in /examples:
- example_cli: Library used by the example_* crates. Provides utilities for syncing, showing the balance, generating addresses and creating transactions without using the bdk_wallet Wallet.
- example_electrum: A command line Bitcoin wallet application built on top of example_cli and the electrum crate. It shows the power of the bdk tools (chain + file_store + electrum), without depending on the main bdk_wallet library.
- example_esplora: A command line Bitcoin wallet application built on top of example_cli and the esplora crate. It shows the power of the bdk tools (chain + file_store + esplora), without depending on the main bdk_wallet library.
- example_bitcoind_rpc_polling: A command line Bitcoin wallet application built on top of example_cli and the bitcoind_rpc crate. It shows the power of the bdk tools (chain + file_store + bitcoind_rpc), without depending on the main bdk_wallet library.
The following BDK crates maintains a MSRV of 1.85.0. To build these crates with the MSRV of 1.85.0 you will need to pin dependencies by running the pin-msrv.sh script.
- bdk_core
- bdk_chain
- bdk_bitcoind_rpc
- bdk_esplora
- bdk_file_store
- bdk_electrum
This project has a justfile for easy command running. You must have just installed.
To see a list of available recipes: just
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.
Hoặc