An Overview Of Lightning Network Implementations
This blog post attempts to summarize the status of Lightning Network by providing an overview of existing full Lightning Network daemons.
The focus of this post is only to provide high-level overview of the daemons.
-
Lightning Network Daemon -
lnd
- Language: Go
- Github link: https://github.com/lightningnetwork/lnd
- BOLT compliance: 11/11
- Status: Usable and actively developed
- Notes: Probably most mature daemon implementation; for most people this will be the default version to try out.
- Required Bitcoin backends:
btcd
,neutrino
,bitcoind
- Supported by: Lightning Labs
-
c-lightning
— a Lightning Network implementation in C- Language: C
- Github link: https://github.com/ElementsProject/lightning
- BOLT compliance: 11/11
- Status: Usable and actively developed
- Notes: Mature implementation, with focus on ’enterprise’ features, plugin mechanism to extend note functionality
- Required Bitcoin backends:
bitcoind
- Supported by: Blockstream
-
Eclair - A scala implementation of the Lightning Network.
- Language: Scala
- Github link: https://github.com/ACINQ/eclair
- BOLT compliance: 11/11
- Status: Usable and actively developed
- Notes: Possible to run with GUI, seems to be focused on payment processing, plugin mechanism
- Required Bitcoin backeds:
bitcoind
- Supported by: ACINQ
-
Ptarmigan
- Language: C++/C
- Github link: https://github.com/nayutaco/ptarmigan
- BOLT compliance: no info
- Status: Actively developed, no info if usable
- Notes: Focused on IOT applications
- Required Bitcoin backends:
bitcoind
- Supported by: Nayuta
-
Lightning Peach Node -
lpd
- Language: Rust
- Github link: https://github.com/LightningPeach/lpd
- BOLT compliance: 2/11, some are partially implemented
- Status: Actively developed, not usable yet
- Notes: Based on
lnd
as reference implementation, estimated by developers to be 20% done, early stage, not much more can be said yet - Required Bitcoin backends:
bitcoind
, Electrum Serverelectrs
- both are required at the same time - Supported by: Lightning Peach (Bitfury)
-
Rust-Lightning, not Rusty’s Lightning
- Language: Rust
- Github link: https://github.com/rust-bitcoin/rust-lightning
- Status: Actively developed, not usable yet
- Notes: Included on the list for completeness, this is a library not a full node implementation
-
lit
- a lightning node you can run on your own- Language: Go
- Github link: https://github.com/mit-dci/lit
- Status: Not developed anymore
- Notes: A node implementation by Tadge Dryjaa and other contributors
-
Lightning network daemon with F# (alpha) -
DotNetLightning
- Language: F#
- Github link: https://github.com/joemphilips/DotNetLightning
- Status: Very early stage, in development
-
NLightning
- A .NET implementation of the Lightning Network- Language: C#
- Github link: https://github.com/NLightning/NLightning
- Status: Very early version, not developed anymore
-
geelightning
- Language: Rust
- Gitlab link: https://gitlab.com/nblockchain/geelightning
- Status: Very early version, included for completeness