14 breaking releases

0.15.0 Jun 15, 2024
0.13.0 May 10, 2024
0.10.0 Mar 27, 2024
0.4.0 Oct 12, 2023
0.2.0 Mar 20, 2023

#1976 in Magic Beans

Download history 1846/week @ 2024-03-24 2524/week @ 2024-03-31 2281/week @ 2024-04-07 2785/week @ 2024-04-14 3091/week @ 2024-04-21 2124/week @ 2024-04-28 2232/week @ 2024-05-05 1801/week @ 2024-05-12 1295/week @ 2024-05-19 1733/week @ 2024-05-26 2136/week @ 2024-06-02 1617/week @ 2024-06-09 1221/week @ 2024-06-16 926/week @ 2024-06-23 543/week @ 2024-06-30 700/week @ 2024-07-07

3,558 downloads per month
Used in 3 crates (2 directly)

MIT/Apache

275KB
4.5K SLoC

BDK Esplora

BDK Esplora extends esplora-client to update bdk_chain structures from an Esplora server.

Usage

There are two versions of the extension trait (blocking and async).

For blocking-only:

bdk_esplora = { version = "0.3", features = ["blocking"] }

For async-only:

bdk_esplora = { version = "0.3", features = ["async"] }

For async-only (with https):

bdk_esplora = { version = "0.3", features = ["async-https"] }

To use the extension traits:

// for blocking
use bdk_esplora::EsploraExt;
// for async
// use bdk_esplora::EsploraAsyncExt;

For full examples, refer to example-crates/wallet_esplora_blocking and example-crates/wallet_esplora_async.


lib.rs:

This crate is used for updating structures of bdk_chain with data from an Esplora server.

The two primary methods are EsploraExt::sync and EsploraExt::full_scan. In most cases EsploraExt::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. EsploraExt::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. For a sync or full scan the user receives relevant blockchain data and output updates for bdk_chain via a new TxGraph to be appended to any existing TxGraph data.

Refer to example_esplora for a complete example.

Dependencies

~7–24MB
~325K SLoC