LDK Node, a new Lightning node library, has been announced, offering developers a simplified and ready-to-go solution for setting up a self-custodial Lightning node. Built using LDK and BDK, LDK Node provides a straightforward interface and an integrated on-chain wallet, allowing developers to quickly and easily establish a Lightning node within a day.
Unlike its predecessor LDK, which offers extensive customization options but requires a deeper understanding of protocol fundamentals, LDK Node focuses on simplicity and ease of use. With a reduced API surface comprising around 30 API calls, LDK Node simplifies the integration of self-custodial Lightning nodes in various use cases while hiding protocol complexities.
The initial release of LDK Node includes several design choices and modules. The integrated BDK wallet handles on-chain data, and chain data can be sourced from an Esplora server, with support for Electrum and bitcoind RPC planned for the future. Gossip data can be obtained via Lightning’s peer-to-peer network or the Rapid Gossip Sync (RGS) protocol. LDK Node also offers the means to source entropy for Lightning and on-chain wallets, as well as generate and persist entropy bytes to disk.
LDK Node is specifically designed to facilitate the integration of self-custodial Lightning nodes in mobile applications. Its features are tailored for mobile deployments, with integration options available for Swift, Kotlin, Python and Flutter. By offering language bindings and compatibility with mobile environments, LDK Node aims to simplify the process of deploying self-custodial Lightning nodes on end-user devices.
Looking ahead, the development team behind LDK Node has already started working on the next release, which will introduce support for sourcing chain data from Electrum or bitcoind RPC and persistence to a Versioned Storage Service (VSS) backend. Integration with the Language Server Protocol (LSP) specification is also in progress. The team is actively considering adding server-grade modules in the future.
For developers interested in exploring LDK Node, the GitHub repository, API documentation, and Rust Crate provide further resources. Additionally, there is a showcase called Monday Wallet, an example wallet built with LDK Node Swift bindings, demonstrating the capabilities of the library in real-world applications.