Module bdk::blockchain
source · Expand description
Blockchain backends
This module provides the implementation of a few commonly-used backends like
Electrum, Esplora and
Compact Filters/Neutrino, along with a generalized trait
Blockchain
that can be implemented to build customized backends.
Re-exports
pub use any::AnyBlockchain;
pub use any::AnyBlockchainConfig;
pub use self::electrum::ElectrumBlockchain;
pub use self::electrum::ElectrumBlockchainConfig;
pub use self::rpc::RpcBlockchain;
pub use self::rpc::RpcConfig;
pub use self::esplora::EsploraBlockchain;
pub use self::compact_filters::CompactFiltersBlockchain;
Modules
- Runtime-checked blockchain types
- compact_filters
compact_filters
Compact Filters - electrum
electrum
Electrum - esplora
esplora
Esplora - rpc
rpc
Rpc Blockchain
Structs
- Type that implements
Progress
and logs at levelINFO
every update received - Type that implements
Progress
and drops every update received
Enums
- Capabilities that can be supported by a
Blockchain
backend
Traits
- Trait that defines the actions that must be supported by a blockchain backend
- Trait for a factory of blockchains that share the underlying connection or configuration
- Trait for
Blockchain
types that can be created given a configuration - Trait for getting block hash by block height
- Trait for getting the current height of the blockchain.
- Trait for getting a transaction by txid
- Trait for types that can receive and process progress updates during
WalletSync::wallet_sync
andWalletSync::wallet_setup
- Trait for blockchains that don’t contain any state
- Trait for blockchains that can sync by updating the database directly.
Functions
- Create a new instance of
LogProgress
- Create a new instance of
NoopProgress
Type Aliases
- Data sent with a progress update over a
channel