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>
This commit is contained in:
co-authored by
Claude Opus 4.6
parent
e9da567116
commit
db2ad27340
@@ -0,0 +1,88 @@
|
||||
# Lightning Testnet Stack (Signet)
|
||||
|
||||
Real Bitcoin signet + LND + ThunderHub + Fedimint for testing Lightning features.
|
||||
|
||||
## Quick Start
|
||||
|
||||
```bash
|
||||
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
|
||||
|
||||
```bash
|
||||
# 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
|
||||
|
||||
```bash
|
||||
# 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
|
||||
|
||||
```bash
|
||||
# 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.
|
||||
Reference in New Issue
Block a user