sync

open override fun sync(request: SyncRequest, batchSize: ULong, fetchPrevTxouts: Boolean): Update(source)

Sync a set of scripts with the blockchain (via an Electrum client) for the data specified and returns updates for bdk_chain data structures.

  • request: struct with data required to perform a spk-based blockchain client sync, see SyncRequest.

  • batch_size: specifies the max number of script pubkeys to request for in a single batch request.

  • fetch_prev_txouts: specifies whether we want previous TxOuts for fee calculation. Note that this requires additional calls to the Electrum server, but is necessary for calculating the fee on a transaction if your wallet does not own the inputs. Methods like Wallet.calculate_fee and Wallet.calculate_fee_rate will return a CalculateFeeError::MissingTxOut error if those TxOuts are not present in the transaction graph.

If the scripts to sync are unknown, such as when restoring or importing a keychain that may include scripts that have been used, use full_scan with the keychain.