Crate bdk_electrum
source ·Expand description
This crate is used for updating structures of bdk_chain
with data from an Electrum server.
The two primary methods are ElectrumExt::sync
and ElectrumExt::full_scan
. In most cases
ElectrumExt::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. ElectrumExt::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
including RelevantTxids
.
The RelevantTxids
only includes txid
s and not full transactions. The caller is responsible
for obtaining full transactions before applying new data to their bdk_chain
. This can be
done with these steps:
-
Determine which full transactions are missing. Use
RelevantTxids::missing_full_txs
. -
Obtaining the full transactions. To do this via electrum use
ElectrumApi::batch_transaction_get
.
Refer to example_electrum
for a complete example.
Re-exports§
pub use bdk_chain;
pub use electrum_client;
Structs§
- Combination of chain and transactions updates from electrum
- Represents updates fetched from an Electrum server, but excludes full transactions.
Traits§
- Trait to extend
Client
functionality.