Module bdk::blockchain[][src]

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::esplora::EsploraBlockchain;
pub use self::compact_filters::CompactFiltersBlockchain;

Modules

any

Runtime-checked blockchain types

compact_filterscompact_filters

Compact Filters

electrumelectrum

Electrum

esploraesplora

Esplora

Structs

LogProgress

Type that implements Progress and logs at level INFO every update received

NoopProgress

Type that implements Progress and drops every update received

Enums

Capability

Capabilities that can be supported by a Blockchain backend

Traits

Blockchain

Trait that defines the actions that must be supported by a blockchain backend

ConfigurableBlockchain

Trait for Blockchain types that can be created given a configuration

Progress

Trait for types that can receive and process progress updates during Blockchain::sync and Blockchain::setup

Functions

log_progress

Create a nwe instance of LogProgress

noop_progress

Create a new instance of NoopProgress

progress

Shortcut to create a channel (pair of Sender and Receiver) that can transport ProgressData

Type Definitions

ProgressData

Data sent with a progress update over a channel