|
| 1 | +# LDK Server |
| 2 | + |
| 3 | +**LDK Server** is a fully-functional Lightning node in daemon form, built on top of |
| 4 | +[LDK Node](https://github.com/lightningdevkit/ldk-node), which itself provides a powerful abstraction over the |
| 5 | +[Lightning Development Kit (LDK)](https://github.com/lightningdevkit/rust-lightning) and uses a built-in |
| 6 | +[Bitcoin Development Kit (BDK)](https://bitcoindevkit.org/) wallet. |
| 7 | + |
| 8 | +The primary goal of LDK Server is to provide an efficient, stable, and API-first solution for deploying and managing |
| 9 | +a Lightning Network node. With its streamlined setup, LDK Server enables users to easily set up, configure, and run |
| 10 | +a Lightning node while exposing a robust, language-agnostic API via [Protocol Buffers (Protobuf)](https://protobuf.dev/). |
| 11 | + |
| 12 | +### Features |
| 13 | + |
| 14 | +- **Out-of-the-Box Lightning Node**: |
| 15 | + - Deploy a Lightning Network node with minimal configuration, no coding required. |
| 16 | + |
| 17 | +- **API-First Design**: |
| 18 | + - Exposes a well-defined API using Protobuf, allowing seamless integration with HTTP-clients or applications. |
| 19 | + |
| 20 | +- **Powered by LDK**: |
| 21 | + - Built on top of LDK-Node, leveraging the modular, reliable, and high-performance architecture of LDK. |
| 22 | + |
| 23 | +- **Effortless Integration**: |
| 24 | + - Ideal for embedding Lightning functionality into payment processors, self-hosted nodes, custodial wallets, or other Lightning-enabled |
| 25 | + applications. |
| 26 | + |
| 27 | +### Project Status |
| 28 | + |
| 29 | +🚧 **Work in Progress**: |
| 30 | +- **APIs Under Development**: Expect breaking changes as the project evolves. |
| 31 | +- **Potential Bugs and Inconsistencies**: While progress is being made toward stability, unexpected behavior may occur. |
| 32 | +- **Improved Logging and Error Handling Coming Soon**: Current error handling is rudimentary (specially for CLI), and usability improvements are actively being worked on. |
| 33 | +- **Pending Testing**: Not tested, hence don't use it for production! |
| 34 | + |
| 35 | +We welcome your feedback and contributions to help shape the future of LDK Server! |
| 36 | + |
| 37 | + |
| 38 | +### Configuration |
| 39 | +Refer `./ldk-server/ldk-server.config to see available configuration options. |
| 40 | + |
| 41 | +### Building |
| 42 | +``` |
| 43 | +git clone https://github.com/lightningdevkit/ldk-server.git |
| 44 | +cargo build |
| 45 | +``` |
| 46 | + |
| 47 | +### Running |
| 48 | +``` |
| 49 | +cargo run --bin ldk-server ./ldk-server/ldk-server.config |
| 50 | +``` |
| 51 | + |
| 52 | +Interact with the node using CLI: |
| 53 | +``` |
| 54 | +./target/debug/ldk-server-cli -b localhost:3002 onchain-receive # To generate onchain-receive address. |
| 55 | +./target/debug/ldk-server-cli -b localhost:3002 help # To print help/available commands. |
| 56 | +``` |
0 commit comments