feat: add ldk-server lightning provider#672
Draft
benthecarman wants to merge 1 commit intoapotdevin:masterfrom
Draft
feat: add ldk-server lightning provider#672benthecarman wants to merge 1 commit intoapotdevin:masterfrom
benthecarman wants to merge 1 commit intoapotdevin:masterfrom
Conversation
Implement LightningProvider for ldk-server, enabling ThunderHub to manage LDK-based Lightning nodes. Uses protobuf over HTTP with HMAC-SHA256 authentication. Supports: wallet info, channels, chain balance, payments, invoices, peers, forwards, message signing, network graph, and routing fees. Integrates with ldk-server's RabbitMQ events for real-time invoice, payment, and forward notifications via SSE. Includes docs/LDK_SERVER_GAPS.md detailing every missing RPC and field for full feature parity. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Owner
|
IMO the rabbitmq events are nice but I would keep this PR simpler and have that be a future change |
Author
We are likely changing out rabbitmq with SSE, would that be better? |
This file contains hidden or 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
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Adds ldk-server as a Lightning provider, enabling ThunderHub to manage LDK-based Lightning nodes alongside LND. The provider communicates with ldk-server over HTTP using protobuf serialization and HMAC-SHA256 authentication.
Supports node info, channels (open/close/config), on-chain wallet, payments (bolt11/keysend), invoices, peers, forwards, message signing, network graph queries, routing fee configuration, and invoice decoding. Real-time event notifications (invoice paid, payment sent, forwards) are available via optional RabbitMQ integration.
Account configuration uses the existing YAML config with
type: ldk-server,serverUrl, andauthToken(hex-encoded API key). Optional fields includetlsCertPathfor TLS certificate verification andrabbitmqUrl/rabbitmqExchangeNamefor real-time events.See
docs/LDK_SERVER_SETUP.mdfor the full setup guide anddocs/LDK_SERVER_GAPS.mdfor a detailed breakdown of features that ldk-server doesn't yet support (closed channel history, chain transactions, UTXOs, payment destinations, backups).I tested basically everything I could, seems like it all works besides what is highlighted in the gaps file.
Draft as we still iron out some ldk-server things