#tokio #lightning #connection #wish #sockets #tcp-stream #reference

lightning-net-tokio

Implementation of the rust-lightning network stack using Tokio. For Rust-Lightning clients which wish to make direct connections to Lightning P2P nodes, this is a simple alternative to implementing the required network stack, especially for those already using Tokio

44 releases

0.0.125 Oct 14, 2024
0.0.124-rc1 Aug 29, 2024
0.0.123 May 9, 2024
0.0.121 Jan 23, 2024
0.0.1 Jun 1, 2019

#4 in #wish

Download history 2280/week @ 2024-08-31 2410/week @ 2024-09-07 2306/week @ 2024-09-14 2464/week @ 2024-09-21 2393/week @ 2024-09-28 2346/week @ 2024-10-05 3882/week @ 2024-10-12 2764/week @ 2024-10-19 2303/week @ 2024-10-26 2876/week @ 2024-11-02 2197/week @ 2024-11-09 2004/week @ 2024-11-16 1464/week @ 2024-11-23 2295/week @ 2024-11-30 2700/week @ 2024-12-07 1314/week @ 2024-12-14

8,056 downloads per month
Used in 9 crates (4 directly)

MIT/Apache

7MB
114K SLoC

A socket handling library for those running in Tokio environments who wish to use rust-lightning with native TcpStreams.

Designed to be as simple as possible, the high-level usage is almost as simple as "hand over a TcpStream and a reference to a PeerManager and the rest is handled".

The PeerManager, due to the fire-and-forget nature of this logic, must be a reference, (e.g. an [Arc]) and must use the SocketDescriptor provided here as the PeerManager's SocketDescriptor implementation.

Three methods are exposed to register a new connection for handling in tokio::spawn calls; see their individual docs for details.

Dependencies

~10–18MB
~189K SLoC