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.

  1. 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
  2. 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
  3. 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
  4. 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
  5. 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 Server electrs - both are required at the same time
    • Supported by: Lightning Peach (Bitfury)
  6. Rust-Lightning, not Rusty’s Lightning

  7. 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
  8. Lightning network daemon with F# (alpha) - DotNetLightning

  9. NLightning - A .NET implementation of the Lightning Network

  10. geelightning