Lnd Emulator Utility Instant
Via JSON file:
// state.json
"channels": [
"chan_id": "123456",
"capacity": 1000000,
"local_balance": 600000,
"remote_balance": 400000
],
"invoices": [
"r_hash": "abc...",
"state": "SETTLED",
"amount": 50000
]
Start with:
lnd-emulator --state=state.json
You can spin up multiple emulator instances and connect them as peers. For example: lnd emulator utility
Test error handling by making the emulator return specific gRPC errors: Via JSON file: // state
lnd-emulator --fail-method="SendPaymentSync" --error-code="13" # Internal error
| Feature | LND Emulator Utility | Regtest (Bitcoind + LND) | Testnet | |---------|----------------------|---------------------------|---------| | Startup time | < 100ms | 10–30 seconds | Minutes | | Resource usage (RAM) | 50–200 MB | 1–4 GB | >4 GB | | Deterministic failures | Yes (injectable) | No | No | | Requires blockchain sync | No | Yes | Yes | | Real crypto operations | Simulated | Yes | Yes | | Cost | Free | Free (compute heavy) | Free but scarce coins | | Multi-hop simulation | Full emulation | Full real | Full real | | Chaos testing | Excellent | Poor | Poor | Start with: lnd-emulator --state=state