Crate rgb_lightning
source ·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.
- io
std
Re-export of eithercore2::io
orstd::io
, depending on thestd
feature flag. Traits, helpers, and type definitions for core I/O functionality. - High level lightning structs and impls live here.
- Onion Messages: sending, receiving, forwarding, and ancillary utilities 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 at the
DEBUG
level. - Log at the
ERROR
level. - Log at the
GOSSIP
level. - Log at the
INFO
level. - Logs a pubkey in hex format.
- Log at the
TRACE
level. - Log at the
WARN
level.