ls ./projects
project // Bitcoin · Infrastructure
bitcoind Ops Console
Live panels for IBD progress, peer counts, mempool bytes, and fee estimates. Never expose RPC to the browser.
Advanced10 days
Overview
Operators need a single pane of glass for node health. Turn Bitcoin Core RPC into an operational dashboard.
A node dashboard is high privilege. Auth-protect it, bind to localhost by default, and assume leaked cookies equal node access.
Minimum panels
| Metric | Source ideas |
|---|---|
| Chain tip / headers | getblockchaininfo |
| Peer count / versions | getpeerinfo |
| Mempool size / fees | getmempoolinfo, estimates |
| Wallet balance | getbalances (if enabled) |
| RPC latency | measured client-side |
Learning objectives
- Expose Bitcoin Core health metrics in a live dashboard
- Visualize sync progress, peers, and mempool stats
- Alert on stalled tip or RPC failures
Prerequisites
- Regtest Block Explorer
- Bitcoin Core & RPC
Required skills
Bitcoin Core RPCBackend proxyingOps UX
Part of the bitcoin roadmap.
Architecture diagram
Browser ──► Dashboard API ──► bitcoind RPC
│
└──► optional metrics storeRequirements
- Live updating tip height and sync progress
- Peer and mempool panels with readable units
- Clear error banner when RPC is down
- RPC credentials stay server-side (never in the browser)
- README with Docker-based demo path
Stretch goals
- Alert when tip has not advanced for N minutes while peers > 0
- Wallet balance panel when a wallet is loaded
- Historical sparkline for mempool size / fee estimates
- Prometheus scrape endpoint for ops teams
Recommended resources
Example repositories
- bitcoin-core/gui
Reference for how Core surfaces node and wallet status.
- Ride The Lightning
Ops dashboard patterns (Lightning-focused, still useful UX).
Submission instructions
- Ship a protected dashboard demo (localhost auth is fine)
- Document required RPC permissions and network binding
- Include screenshots of healthy and degraded (RPC down) states
- Describe your stall-alert rule if implemented