Expand description
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 requirestd
, includingstd::io
trait implementations and things which utilize timegrind_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:
std
grind_signatures
no-std
- exposes write trait implementations from thecore2
crate (at least one ofno-std
orstd
are required)- Skip logging of messages at levels below the given log level:
max_level_off
max_level_error
max_level_warn
max_level_info
max_level_debug
max_level_trace
Modules
Structs and traits which allow other parts of rust-lightning to interact with the blockchain.
std
Re-export of either core2::io
or 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.
Macros
Logs a byte slice in hex format.
Log an error.
Logs an entry at the given level.
Log a trace log.