-
Notifications
You must be signed in to change notification settings - Fork 6
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Add Basic project description and README.md
- Loading branch information
Showing
1 changed file
with
56 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,56 @@ | ||
# LDK Server | ||
|
||
**LDK Server** is a fully-functional Lightning node in daemon form, built on top of | ||
[LDK Node](https://github.com/lightningdevkit/ldk-node), which itself provides a powerful abstraction over the | ||
[Lightning Development Kit (LDK)](https://github.com/lightningdevkit/rust-lightning) and uses a built-in | ||
[Bitcoin Development Kit (BDK)](https://bitcoindevkit.org/) 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)](https://protobuf.dev/). | ||
|
||
### 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 API using Protobuf, allowing seamless integration with HTTP-clients or applications. | ||
|
||
- **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 Under Development**: Expect breaking changes as the project evolves. | ||
- **Potential Bugs and Inconsistencies**: While progress is being made toward stability, unexpected behavior may occur. | ||
- **Improved Logging and Error Handling Coming Soon**: Current error handling is rudimentary (specially for CLI), and usability improvements are actively being worked on. | ||
- **Pending Testing**: Not tested, hence don't use it for production! | ||
|
||
We welcome your feedback and contributions to help shape the future of LDK Server! | ||
|
||
|
||
### Configuration | ||
Refer `./ldk-server/ldk-server.config to see available configuration options. | ||
|
||
### Building | ||
``` | ||
git clone https://github.com/lightningdevkit/ldk-server.git | ||
cargo build | ||
``` | ||
|
||
### Running | ||
``` | ||
cargo run --bin ldk-server ./ldk-server/ldk-server.config | ||
``` | ||
|
||
Interact with the node using CLI: | ||
``` | ||
./target/debug/ldk-server-cli -b localhost:3002 onchain-receive # To generate onchain-receive address. | ||
./target/debug/ldk-server-cli -b localhost:3002 help # To print help/available commands. | ||
``` |