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>
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
- Get a new address:
docker exec archy-lnd-signet lncli --network=signet newaddress p2wkh - Visit https://signetfaucet.com and paste the address
- Wait for 1 confirmation (~10 min)
- 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.