my-homelab-configs/infra/blockchain-devnet
juvdiaz 709881be86 Add blockchain devnet metrics dashboard 2026-06-29 19:22:23 -06:00
..
explorer Add lightweight blockchain explorer 2026-06-29 19:16:13 -06:00
metrics Add blockchain devnet metrics dashboard 2026-06-29 19:22:23 -06:00
nginx Add blockchain RPC gateway 2026-06-29 19:17:16 -06:00
README.md Add blockchain devnet metrics dashboard 2026-06-29 19:22:23 -06:00
docker-compose.yml Add blockchain devnet metrics dashboard 2026-06-29 19:22:23 -06:00
prometheus-scrape.example.yml Add blockchain devnet metrics dashboard 2026-06-29 19:22:23 -06:00

README.md

Blockchain Devnet

This stack runs a local Ethereum-compatible devnet for learning smart contracts, wallets, JSON-RPC, block production, and defensive RPC operations.

It is intentionally local/dev-only. Do not use real wallets, seed phrases, or mainnet private keys here.

Commands

./jeannie blockchain-devnet status
./jeannie blockchain-devnet up
./jeannie blockchain-devnet logs
./jeannie blockchain-devnet down

The default RPC endpoint is:

http://127.0.0.1:8545

The lightweight local explorer is available at:

http://127.0.0.1:8089

The local RPC gateway is available at:

http://127.0.0.1:18545

Use the gateway when you want to practice RPC protection patterns such as method restriction, rate limiting, CORS headers, and request logging. Keep the raw Anvil RPC for direct local development.

The Prometheus metrics endpoint is available at:

http://127.0.0.1:9109/metrics

Metrics include:

  • homelab_blockchain_rpc_up
  • homelab_blockchain_chain_id
  • homelab_blockchain_latest_block
  • homelab_blockchain_peer_count
  • homelab_blockchain_gas_price_wei
  • homelab_blockchain_rpc_latency_seconds

Use prometheus-scrape.example.yml as the scrape target shape. The repo also includes the Homelab Blockchain Devnet Grafana dashboard under bootstrap/platform/grafana-dashboards; rebuild dashboard ConfigMaps with:

./jeannie grafana-dashboards apply

From another LAN host, use the Debian host IP:

http://192.168.100.73:8545

Useful RPC Checks

curl -sS -X POST http://127.0.0.1:8545 \
  -H 'content-type: application/json' \
  --data '{"jsonrpc":"2.0","method":"eth_chainId","params":[],"id":1}'

curl -sS -X POST http://127.0.0.1:8545 \
  -H 'content-type: application/json' \
  --data '{"jsonrpc":"2.0","method":"eth_blockNumber","params":[],"id":1}'

Environment

BLOCKCHAIN_RPC_PORT=8545
BLOCKCHAIN_RPC_GATEWAY_PORT=18545
BLOCKCHAIN_EXPLORER_PORT=8089
BLOCKCHAIN_METRICS_PORT=9109
BLOCKCHAIN_CHAIN_ID=31337
BLOCKCHAIN_BLOCK_TIME=2