22 breaking releases

0.23.2 Sep 12, 2025
0.23.0 May 27, 2025
0.21.0 Feb 5, 2025
0.20.1 Dec 19, 2024
0.2.0 Mar 20, 2023

#4 in #electrum

Download history 2740/week @ 2025-08-12 2811/week @ 2025-08-19 2822/week @ 2025-08-26 2154/week @ 2025-09-02 3685/week @ 2025-09-09 4821/week @ 2025-09-16 5122/week @ 2025-09-23 3447/week @ 2025-09-30 4418/week @ 2025-10-07 3756/week @ 2025-10-14 5180/week @ 2025-10-21 5922/week @ 2025-10-28 6322/week @ 2025-11-04 5920/week @ 2025-11-11 6024/week @ 2025-11-18 3505/week @ 2025-11-25

22,731 downloads per month
Used in 12 crates (5 directly)

MIT/Apache

83KB
1.5K SLoC

This crate is used for returning updates from Electrum servers.

Updates are returned as either a SyncResponse (if [BdkElectrumClient::sync()] is called), or a FullScanResponse (if [BdkElectrumClient::full_scan()] is called).

In most cases [BdkElectrumClient::sync()] is used to sync the transaction histories of scripts that the application cares about, for example the scripts for all the receive addresses of a Wallet's keychain that it has shown a user.

BdkElectrumClient::full_scan is meant to be used when importing or restoring a keychain where the range of possibly used scripts is not known. In this case it is necessary to scan all keychain scripts until a number (the "stop gap") of unused scripts is discovered.

Refer to example_electrum for a complete example.


BDK Electrum

BDK Electrum extends electrum-client to update bdk_chain structures from an Electrum server.

Minimum Supported Rust Version (MSRV)

This crate has a MSRV of 1.75.0.

To build with MSRV you will need to pin dependencies as follows:

cargo update -p home --precise "0.5.9"

Dependencies

~7–20MB
~217K SLoC