1 Troubleshooting
Claude edited this page 2026-04-03 11:08:36 +01:00

Troubleshooting

Health Check

Run the health check script:

bash health.sh

All services should show green. If any show red, check the logs:

docker logs lthn-daemon
docker logs lthn-wallet
docker logs lthn-explorer
docker logs lthn-trade-api
docker logs lthn-pool
docker logs lthn-lns

Common Issues

Daemon crashes on start

Symptom: lthn-daemon shows Restarting in docker compose ps

Causes:

  • Port already in use — another process is on 46941. Kill it or change DAEMON_RPC_PORT in .env
  • Corrupt chain data — remove volume: docker volume rm docker_chain-data
  • Lock file — previous daemon didn't shut down cleanly. Remove /data/lock.lck inside the volume

Wallet shows 0 balance

Causes:

  • New wallet — Docker creates a fresh wallet on first start. Mine or receive LTHN
  • Wallet syncing — check daemon height vs wallet's last known block
  • Wrong wallet file — if migrating, mount the existing wallet via docker-compose.local.yml

Pool shows "Daemon died"

Cause: Pool can't reach daemon or wallet RPC.

Fix: Check both daemon and wallet are healthy:

docker compose -f docker-compose.pull.yml ps daemon wallet

The pool needs the daemon health check to pass before starting.

Explorer shows "offline"

Cause: Explorer can't reach daemon RPC.

Fix: Wait for daemon to fully sync. The explorer connects to daemon:36941 inside the Docker network.

Trade API returns connection errors

Cause: DNS resolution inside Docker network failed.

Fix: Restart the trade-api container:

docker compose -f docker-compose.pull.yml restart trade-api

Port already in use

Symptom: failed to bind host port: address already in use

Fix: Either kill the process using the port or change the port in .env:

# Find what's using the port
lsof -i :46941
# Or change port
echo "DAEMON_RPC_PORT=47941" >> .env
docker compose -f docker-compose.pull.yml up -d

Services can't find each other

Cause: Container was created outside of compose (manual docker run).

Fix: Remove it and let compose recreate it:

docker rm -f lthn-trade-api
docker compose -f docker-compose.pull.yml up -d trade-api

Reset Everything

# Stop and remove all containers and volumes
docker compose -f docker-compose.pull.yml down -v

# Start fresh
docker compose -f docker-compose.pull.yml up -d

This will delete all chain data, wallet files, and databases.