Rust-Lightning, not Rusty’s Lightning!
A full-featured but also flexible lightning implementation, in library form. This allows the user (you) to decide how they wish to use it instead of being a fully self-contained daemon. This means there is no built-in threading/execution environment and it’s up to the user to figure out how best to make networking happen/timers fire/things get written to disk/keys get generated/etc. This makes it a good candidate for tight integration into an existing wallet instead of having a rather-separate lightning appendage to a wallet.
default features are:
std- enables functionalities which require
std::iotrait implementations and things which utilize time
grind_signatures- enables generation of low-r bitcoin signatures, which saves 1 byte per signature in 50% of the cases (see bitcoin PR #13666)
Available features are:
no-std- exposes write trait implementations from the
core2crate (at least one of
- Skip logging of messages at levels below the given log level:
Structs and traits which allow other parts of rust-lightning to interact with the blockchain.
Re-export of either
std::io, depending on the
std feature flag.
Traits, helpers, and type definitions for core I/O functionality.
High level lightning structs and impls live here.
Structs and impls for receiving messages about the network and storing the topology live here.
Some utility modules live here. See individual sub-modules for more info.