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 txids 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:

  1. Determine which full transactions are missing. Use RelevantTxids::missing_full_txs.

  2. Obtaining the full transactions. To do this via electrum use ElectrumApi::batch_transaction_get.

Refer to example_electrum for a complete example.

Re-exports§

Structs§

  • Combination of chain and transactions updates from electrum
  • Represents updates fetched from an Electrum server, but excludes full transactions.

Traits§