Class CbfBuilder
-
- All Implemented Interfaces:
-
java.lang.AutoCloseable
,org.bitcoindevkit.CbfBuilderInterface
,org.bitcoindevkit.Disposable
public class CbfBuilder implements Disposable, AutoCloseable, CbfBuilderInterface
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, thelookahead
should be roughly the number of transactions in the wallet history.
-
-
Constructor Summary
Constructors Constructor Description CbfBuilder(Pointer pointer)
CbfBuilder(NoPointer noPointer)
This constructor can be used to instantiate a fake object. CbfBuilder()
Start a new `CbfBuilder`
-
Method Summary
Modifier and Type Method Description Unit
destroy()
Unit
close()
final Pointer
uniffiClonePointer()
CbfComponents
build(Wallet wallet)
Construct a `CbfComponents` for a `Wallet`. CbfBuilder
connections(UByte connections)
The number of connections for the light client to maintain. CbfBuilder
dataDir(String dataDir)
Directory to store block headers and peers. CbfBuilder
dnsResolver(IpAddress dnsResolver)
Configure a custom DNS resolver when querying DNS seeds. CbfBuilder
logLevel(LogLevel logLevel)
Set the log level for the node. CbfBuilder
peers(List<Peer> peers)
Bitcoin full-nodes to attempt a connection with. CbfBuilder
scanType(ScanType scanType)
Select between syncing, recovering, or scanning for new wallets.
-
-
-
Method Detail
-
uniffiClonePointer
final Pointer uniffiClonePointer()
-
build
CbfComponents build(Wallet wallet)
Construct a `CbfComponents` for a `Wallet`.
-
connections
CbfBuilder connections(UByte connections)
The number of connections for the light client to maintain. Default is two.
-
dataDir
CbfBuilder dataDir(String dataDir)
Directory to store block headers and peers. If none is provided, the current working directory will be used.
-
dnsResolver
CbfBuilder dnsResolver(IpAddress dnsResolver)
Configure a custom DNS resolver when querying DNS seeds. Default is
1.1.1.1
managed by CloudFlare.
-
logLevel
CbfBuilder logLevel(LogLevel logLevel)
Set the log level for the node. Production applications may want to omit
Debug
messages to avoid heap allocations.
-
peers
CbfBuilder peers(List<Peer> peers)
Bitcoin full-nodes to attempt a connection with.
-
scanType
CbfBuilder scanType(ScanType scanType)
Select between syncing, recovering, or scanning for new wallets.
-
-