Skip to content

lightningdevkit/ldk-server

Repository files navigation

LDK Server

LDK Server is a fully-functional Lightning node in daemon form, built on top of LDK Node, which itself provides a powerful abstraction over the Lightning Development Kit (LDK) and uses a built-in Bitcoin Development Kit (BDK) wallet.

The primary goal of LDK Server is to provide an efficient, stable, and API-first solution for deploying and managing a Lightning Network node. With its streamlined setup, LDK Server enables users to easily set up, configure, and run a Lightning node while exposing a robust, language-agnostic API via Protocol Buffers (Protobuf).

Features

  • Out-of-the-Box Lightning Node:

    • Deploy a Lightning Network node with minimal configuration, no coding required.
  • API-First Design:

    • Exposes a well-defined gRPC API using Protobuf, allowing seamless integration with any language.
  • Powered by LDK:

    • Built on top of LDK-Node, leveraging the modular, reliable, and high-performance architecture of LDK.
  • Effortless Integration:

    • Ideal for embedding Lightning functionality into payment processors, self-hosted nodes, custodial wallets, or other Lightning-enabled applications.

Project Status

Work in Progress:

  • APIs are under development. Expect breaking changes as the project evolves.
  • Not tested for production use.
  • We welcome your feedback and contributions to help shape the future of LDK Server!

Quick Start

git clone https://github.com/lightningdevkit/ldk-server.git
cd ldk-server
cargo build --release
cp contrib/ldk-server-config.toml my-config.toml  # edit with your settings
./target/release/ldk-server my-config.toml

See Getting Started for a full walkthrough.

Documentation

Document Description
Getting Started Install, configure, and run your first node
Configuration All config options, environment variables, and Bitcoin backend tradeoffs
API Guide gRPC transport, authentication, and endpoint reference
Tor Connecting to and receiving connections over Tor
Operations Production deployment, backups, and monitoring

API

The canonical API definitions are in ldk-server-grpc/src/proto/. A ready-made Rust client library is provided in ldk-server-client/.

Contributing

Contributions are welcome! Please see CONTRIBUTING.md for guidelines on building, testing, code style, and development workflow.

About

LDK Server is a fully-functional Lightning node in daemon form.

Topics

Resources

Contributing

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors