Files
Dorian 00bfd62393 chore: dev environment — signet testnet stack, mock LND RPCs, faucet button
Switch docker-compose from regtest to signet, add standalone testnet stack
(docker-compose.testnet.yml) with Bitcoin+LND+ThunderHub+Fedimint. Mock
backend now auto-detects Podman/Docker sockets and includes full LND/Lightning
RPC mocks. Dev scripts refactored with boot mode, testnet option, and macOS
EAGAIN fix for port cleanup. Added dev faucet button to Home.vue.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-18 21:06:14 +00:00
..

Lightning Testnet Stack (Signet)

Real Bitcoin signet + LND + ThunderHub + Fedimint for testing Lightning features.

Quick Start

docker compose -f docker-compose.testnet.yml up -d

First run takes ~10 minutes for signet blockchain sync (~200MB).

Access

Service URL Credentials
ThunderHub http://localhost:3010 password: thunderhub
Fedimint Guardian UI http://localhost:18175
LND REST API http://localhost:8080
Bitcoin RPC localhost:38332 user: bitcoin / pass: bitcoinpass

Get Signet Coins

  1. Get a new address: docker exec archy-lnd-signet lncli --network=signet newaddress p2wkh
  2. Visit https://signetfaucet.com and paste the address
  3. Wait for 1 confirmation (~10 min)
  4. Check balance: docker exec archy-lnd-signet lncli --network=signet walletbalance

Open a Lightning Channel

# Connect to a signet peer (example: ACINQ signet node)
docker exec archy-lnd-signet lncli --network=signet connect 03...@signet-node:9735

# Open channel (amount in sats)
docker exec archy-lnd-signet lncli --network=signet openchannel --node_key=03... --local_amt=100000

Or use ThunderHub's UI at http://localhost:3010 to manage channels visually.

Create & Pay Invoices

# Create invoice
docker exec archy-lnd-signet lncli --network=signet addinvoice --amt=1000 --memo="test payment"

# Pay invoice (from another node or ThunderHub)
docker exec archy-lnd-signet lncli --network=signet payinvoice <bolt11>

Useful Commands

# Node info
docker exec archy-lnd-signet lncli --network=signet getinfo

# List channels
docker exec archy-lnd-signet lncli --network=signet listchannels

# Check Bitcoin sync progress
docker exec archy-bitcoind-signet bitcoin-cli -signet -rpcuser=bitcoin -rpcpassword=bitcoinpass -rpcport=38332 getblockchaininfo

# View logs
docker compose -f docker-compose.testnet.yml logs -f lnd-signet
docker compose -f docker-compose.testnet.yml logs -f thunderhub-signet

# Stop everything
docker compose -f docker-compose.testnet.yml down

# Reset all data (fresh start)
docker compose -f docker-compose.testnet.yml down -v

Architecture

bitcoind-signet (port 38332)
    ↓ RPC + ZMQ
lnd-signet (gRPC 10009, REST 8080, P2P 9735)
    ↓ macaroon + TLS
thunderhub-signet (web UI on 3010)

bitcoind-signet
    ↓ RPC
fedimint-signet (Guardian UI on 18175, API on 18174)

All containers share the signet-net bridge network for internal DNS resolution.