LightClientBuilderInterface

Build a BIP 157/158 light client to fetch transactions for a Wallet.

Options:

  • List of Peer: Bitcoin full-nodes for the light client to connect to. May be empty.

  • connections: The number of connections for the light client to maintain.

  • scan_type: Sync, recover, or start a new wallet. For more information see `ScanType`.

  • data_dir: Optional directory to store block headers and peers.

A note on recovering wallets. Developers should allow users to provide an approximate recovery height and an estimated number of transactions for the wallet. When determining how many scripts to check filters for, the Wallet lookahead value will be used. To ensure all transactions are recovered, the lookahead should be roughly the number of transactions in the wallet history.

Inheritors

Types

Link copied to clipboard
object Companion

Functions

Link copied to clipboard
abstract fun build(wallet: Wallet): LightClient

Construct a `LightClient` for a `Wallet`.

Link copied to clipboard
abstract fun connections(connections: UByte): LightClientBuilder

The number of connections for the light client to maintain. Default is two.

Link copied to clipboard
abstract fun dataDir(dataDir: String): LightClientBuilder

Directory to store block headers and peers. If none is provided, the current working directory will be used.

Link copied to clipboard
abstract fun peers(peers: List<Peer>): LightClientBuilder

Bitcoin full-nodes to attempt a connection with.

Link copied to clipboard
abstract fun scanType(scanType: ScanType): LightClientBuilder

Select between syncing, recovering, or scanning for new wallets.