#bitcoin #on-chain #async-channel

no-std lightning

A Bitcoin Lightning library in Rust. Does most of the hard work, without implying a specific runtime, requiring clients implement basic network logic, chain interactions and disk storage. Still missing tons of error-handling. See GitHub issues for suggested projects if you want to contribute. Don't have to bother telling you not to use this for anything serious, because you'd have to build a client around it to even try.

55 releases

0.1.3 Apr 30, 2025
0.1.1 Jan 29, 2025
0.1.0-beta1 Dec 22, 2024
0.0.125 Oct 14, 2024
0.0.1 Feb 16, 2018

#5 in #on-chain

Download history 6710/week @ 2025-01-26 6268/week @ 2025-02-02 6102/week @ 2025-02-09 5367/week @ 2025-02-16 5641/week @ 2025-02-23 5786/week @ 2025-03-02 5519/week @ 2025-03-09 7311/week @ 2025-03-16 7293/week @ 2025-03-23 5211/week @ 2025-03-30 5442/week @ 2025-04-06 7226/week @ 2025-04-13 6780/week @ 2025-04-20 7018/week @ 2025-04-27 7169/week @ 2025-05-04 7354/week @ 2025-05-11

28,614 downloads per month
Used in 135 crates (38 directly)

MIT/Apache

7.5MB
126K SLoC

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, including std::io trait 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:

  • std
  • grind_signatures

Dependencies

~8–18MB
~191K SLoC