Crate lightning_block_sync[−][src]
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
| init | |
| poll |
Structs
| BlockHeaderData | 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). |
| BlockSourceError | Error type for |
| ChainNotifier | Notifies listeners of blocks that have been connected or disconnected from the chain. |
| SpvClient | A lightweight client for keeping a listener in sync with the chain, allowing for Simplified Payment Verification (SPV). |
Enums
| BlockSourceErrorKind | The kind of |
Traits
| BlockSource | Abstract type for retrieving block headers and data. |
| Cache | The |
Type Definitions
| UnboundedCache | Unbounded cache of block headers keyed by block hash. |