lnd

from roasbeef/claude-files

No description

17 stars3 forksUpdated Jan 24, 2026
npx skills add https://github.com/roasbeef/claude-files --skill lnd

SKILL.md

LND Lightning Network Skill

LND (Lightning Network Daemon) is a complete implementation of a Lightning Network node. This skill helps you run lnd in Docker for development and testing, with support for multiple backends.

Prerequisites

  • Docker and Docker Compose installed
  • (Optional) gh CLI for building from GitHub PRs

Quick Start

Start the full regtest stack (Bitcoin Core + LND):

cd ~/.claude/skills/lnd/templates
docker-compose up -d --build   # First time: builds lnd from source (~3-5 min)
docker-compose up -d           # Subsequent runs: uses cached image

This starts:

  • lnd-bitcoind: Bitcoin Core 30 in regtest mode with ZMQ
  • lnd: LND built from local source

Notes:

  • LND is built from source at /users/roasbeef/gocode/src/github.com/lightningnetwork/lnd
  • First build takes ~3-5 minutes to compile Go code
  • Uses --noseedbackup for testing (no wallet seed required)

Check status:

~/.claude/skills/lnd/scripts/lncli.sh getinfo

Backend Options

LND supports three backend options:

BackendDescriptionBest For
bitcoindBitcoin CoreProduction, regtest development, interop testing
btcdbtcd (Go implementation)Simnet testing, fast iteration
neutrinoLight client (BIP 157/158)Testnet, mobile simulation

Standalone Mode (bitcoind backend - default)

cd ~/.claude/skills/lnd/templates
docker-compose up -d

Shared Mode (interop with eclair)

# First start eclair's stack
cd ~/.claude/skills/eclair/templates
docker-compose up -d

# Then start lnd using eclair's bitcoind
cd ~/.claude/skills/lnd/templates
docker-compose -f docker-compose-shared.yml up -d

btcd Mode (simnet)

cd ~/.claude/skills/lnd/templates
docker-compose -f docker-compose-btcd.yml up -d

Neutrino Mode (light client)

cd ~/.claude/skills/lnd/templates
docker-compose -f docker-compose-neutrino.yml up -d

# Or with signet
NETWORK=signet docker-compose -f docker-compose-neutrino.yml up -d

Docker Management

Build Image (from lnd source)

# Build from current source
~/.claude/skills/lnd/scripts/docker-build.sh

# Build from a specific branch
~/.claude/skills/lnd/scripts/docker-build.sh --branch simple-taproot-chans

# Build from a GitHub PR
~/.claude/skills/lnd/scripts/docker-build.sh --pr 1234

# Build from a specific commit
~/.claude/skills/lnd/scripts/docker-build.sh --commit abc123

# Quick PR build (convenience wrapper)
~/.claude/skills/lnd/scripts/build-pr.sh 1234

Start Containers

# Start standalone stack (bitcoind + lnd)
~/.claude/skills/lnd/scripts/docker-start.sh

# Start in shared mode (uses external bitcoind)
~/.claude/skills/lnd/scripts/docker-start.sh --shared

# Start with btcd backend
~/.claude/skills/lnd/scripts/docker-start.sh --btcd

# Start in neutrino mode
~/.claude/skills/lnd/scripts/docker-start.sh --neutrino

# Rebuild before starting
~/.claude/skills/lnd/scripts/docker-start.sh --build

Stop Containers

# Stop containers (preserve data)
~/.claude/skills/lnd/scripts/docker-stop.sh

# Stop and remove volumes (clean state)
~/.claude/skills/lnd/scripts/docker-stop.sh --clean

View Logs

docker logs -f lnd
docker logs -f lnd-bitcoind

Essential lncli Operations

All commands use lncli.sh wrapper which auto-detects the lnd container.

Node Information

# Get node info
~/.claude/skills/lnd/scripts/lncli.sh getinfo

# Get wallet balance (on-chain)
~/.claude/skills/lnd/scripts/lncli.sh walletbalance

# Get channel balance (Lightning)
~/.claude/skills/lnd/scripts/lncli.sh channelbalance

Wallet & Addresses

# Get new address (native SegWit)
~/.claude/skills/lnd/scripts/lncli.sh newaddress p2wkh

# Get new address (nested SegWit)
~/.claude/skills/lnd/scripts/lncli.sh newaddress np2wkh

# Get new Taproot address
~/.claude/skills/lnd/scripts/lncli.sh newaddress p2tr

# Send on-chain
~/.claude/skills/lnd/scripts/lncli.sh sendcoins --addr=<address> --amt=<satoshis>

Connect to Peers

# Connect by URI
~/.claude/skills/lnd/scripts/lncli.sh connect <pubkey>@<host>:9735

# List connected peers
~/.claude/skills/lnd/scripts/lncli.sh listpeers

# Disconnect
~/.claude/skills/lnd/scripts/lncli.sh disconnect <pubkey>

Channel Management

# Open channel
~/.claude/skills/lnd/scripts/lncli.sh openchannel --node_key=<pubkey> --local_amt=1000000

# List channels
~/.claude/skills/lnd/scripts/lncli.sh listchannels

# Get channel balance
~/.claude/skills/lnd/scripts/lncli.sh channelbalance

# Close channel cooperatively
~/.claude/skills/lnd/scripts/lncli.sh closechannel --funding_txid=<txid> --output_index=<n>

# Force close channel
~/.claude/skills/lnd/scripts/lncli.sh closechannel --funding_txid=<txid> --output_index=<n> --force

Payments

# Create invoice
~/.claude/skills/lnd/scripts/lncli.sh addinvoice --amt=<satoshi

...
Read full content

Repository Stats

Stars17
Forks3