Crate lightning_block_sync[−][src]
Expand description
A lightweight client for keeping in sync with chain activity.
Defines an SpvClient
utility for polling one or more block sources for the best chain tip.
It is used to notify listeners of blocks connected or disconnected since the last poll. Useful
for keeping a Lightning node in sync with the chain.
Defines a BlockSource
trait, which is an asynchronous interface for retrieving block headers
and data.
Enabling feature rest-client
or rpc-client
allows configuring the client to fetch blocks
using Bitcoin Core’s REST or RPC interface, respectively.
Both features support either blocking I/O using std::net::TcpStream
or, with feature tokio
,
non-blocking I/O using tokio::net::TcpStream
from inside a Tokio runtime.
Modules
Utilities to assist in the initial sync required to initialize or reload Rust-Lightning objects from disk.
Adapters that make one or more BlockSource
s simpler to poll for new chain tip transitions.
Structs
A block header and some associated data. This information should be available from most block sources (and, notably, is available in Bitcoin Core’s RPC and REST interfaces).
Error type for BlockSource
requests.
Notifies listeners of blocks that have been connected or disconnected from the chain.
A lightweight client for keeping a listener in sync with the chain, allowing for Simplified Payment Verification (SPV).
Enums
The kind of BlockSourceError
, either persistent or transient.
Traits
Abstract type for retrieving block headers and data.
The Cache
trait defines behavior for managing a block header cache, where block headers are
keyed by block hash.
Type Definitions
Result type for asynchronous BlockSource
requests.
Result type for BlockSource
requests.
Unbounded cache of block headers keyed by block hash.