志宇 8ab58af093
feat(chain)!: wrap TxGraph txs with Arc
Wrapping transactions as `Arc<Transaction>` allows us to share
transactions cheaply between the chain-source and receiving structures.
Therefore the chain-source can keep already-fetched transactions (save
bandwidth) and have a shared pointer to the transactions (save memory).

This is better than the current way we do things, which is to refer back
to the receiving structures mid-sync.

Documentation for `TxGraph` is also updated.
2024-03-25 12:57:26 +08:00
..

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.