Crate cdk_ldk_node

Crate cdk_ldk_node 

Source
Expand description

CDK lightning backend for ldk-node

§CDK LDK Node

CDK lightning backend for ldk-node, providing Lightning Network functionality for CDK with support for Cashu operations.

§Features

  • Lightning Network payments (Bolt11 and Bolt12)
  • Channel management
  • Payment processing for Cashu mint operations
  • Web management interface
  • Support for multiple Bitcoin networks (Mainnet, Testnet, Signet/Mutinynet, Regtest)
  • RGS (Rapid Gossip Sync) and P2P gossip support

§Quick Start

# Using environment variables (simplest)
export CDK_MINTD_LN_BACKEND="ldk-node"
export CDK_MINTD_LDK_NODE_BITCOIN_NETWORK="signet"
export CDK_MINTD_LDK_NODE_ESPLORA_URL="https://mutinynet.com/api"
export CDK_MINTD_LDK_NODE_RGS_URL="https://rgs.mutinynet.com/snapshot/0"
export CDK_MINTD_LDK_NODE_GOSSIP_SOURCE_TYPE="rgs"

cdk-mintd

After starting:

For complete network configuration examples, Docker setup, and production deployment, see NETWORK_GUIDE.md.

§Web Management Interface

The CDK LDK Node includes a built-in web management interface accessible at http://127.0.0.1:8091 by default.

⚠️ SECURITY WARNING: The web management interface has NO AUTHENTICATION and allows sending funds and managing channels. NEVER expose it publicly without proper authentication/authorization in front of it. Only bind to localhost (127.0.0.1) for security.

§Key Features

  • Dashboard: Node status, balance, and recent activity
  • Channel Management: Open and close Lightning channels
  • Payment Management: Create invoices, send payments, view history with pagination
  • On-chain Operations: View balances and manage transactions

§Configuration

[ldk_node]
webserver_host = "127.0.0.1"  # IMPORTANT: Only localhost for security
webserver_port = 8091  # 0 = auto-assign port

Or via environment variables:

  • CDK_MINTD_LDK_NODE_WEBSERVER_HOST
  • CDK_MINTD_LDK_NODE_WEBSERVER_PORT

§Basic Configuration

§Config File Example

[ln]
ln_backend = "ldk-node"

[ldk_node]
bitcoin_network = "signet"  # mainnet, testnet, signet, regtest
esplora_url = "https://mutinynet.com/api"
rgs_url = "https://rgs.mutinynet.com/snapshot/0"
gossip_source_type = "rgs"  # rgs or p2p
webserver_port = 8091

§Environment Variables

All options can be set with CDK_MINTD_LDK_NODE_ prefix:

  • CDK_MINTD_LDK_NODE_BITCOIN_NETWORK
  • CDK_MINTD_LDK_NODE_ESPLORA_URL
  • CDK_MINTD_LDK_NODE_RGS_URL
  • CDK_MINTD_LDK_NODE_GOSSIP_SOURCE_TYPE

For detailed network configurations, Docker setup, production deployment, and troubleshooting, see NETWORK_GUIDE.md.

Structs§

BitcoinRpcConfig
Configuration for connecting to Bitcoin RPC
CdkLdkNode
CDK Lightning backend using LDK Node

Enums§

ChainSource
Source of blockchain data for the Lightning node
GossipSource
Source of Lightning network gossip data