Crate bdk_esplora

source ·
Expand description

§BDK Esplora

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


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.

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.