DEV Community

Collins Mwanga
Collins Mwanga

Posted on

BitScope

This is a submission for Weekend Challenge: Passion Edition

What I Built

I built BitScope, an interactive Bitcoin Core learning lab powered by a user’s own local Bitcoin node.

BitScope is not a hosted block explorer clone. It is a hands-on learning environment for people studying Bitcoin from the command line upward. The goal is to help learners understand what Bitcoin Core actually sees and returns through RPC: blocks, transactions, wallets, UTXOs, mempool policy, fees, scripts, descriptors, PSBTs, Taproot, peers, regtest mining, and transaction construction.

Every major workflow is designed to connect four things:

  • the human-friendly explanation,
  • the equivalent bitcoin-cli command,
  • the underlying JSON-RPC method and parameters,
  • and the raw Bitcoin Core response.

The project is especially focused on regtest education, so users can safely mine blocks, fund wallets, build transactions, experiment with scripts, and learn advanced Bitcoin workflows without touching real funds.

Demo

Public project docs and screenshots:

https://comwanga.github.io/BitScope/

The public site is documentation-only. The real BitScope app is intentionally local-first because it connects to the user’s own Bitcoin Core RPC node and should never expose wallet RPC credentials to a hosted backend.

Demo flow highlights:

  • Start Bitcoin Core in regtest mode.
  • Launch the FastAPI backend and Next.js frontend.
  • Open the dashboard to inspect node status.
  • Use Demo Mode to create a fresh wallet, mine spendable blocks, send a transaction, inspect scripts, and view the exact CLI/RPC commands behind each step.
  • Explore blocks, transactions, mempool, fees, wallets, descriptors, PSBTs, multisig, timelocks, peers, keys, and script labs.

Code

GitHub repository:

https://github.com/comwanga/BitScope

How I Built It

BitScope is a full-stack local Bitcoin Core lab.

The backend is built with Python, FastAPI, Pydantic, and Bitcoin Core JSON-RPC. It provides a service layer around Bitcoin Core RPC calls, translates RPC errors into learner-friendly API responses, and keeps RPC credentials strictly server-side.

The frontend is built with Next.js, TypeScript, and Tailwind CSS. It includes a responsive dark-mode-first interface with learning cards, command explanation panels, raw JSON toggles, and guided workflows.

The most important architectural decision was to keep BitScope local-first. A hosted app would be easier to demo, but it would teach the wrong security model. Bitcoin Core RPC credentials belong on the user’s machine, not in a public cloud deployment. So the hosted GitHub Pages site is only for screenshots and documentation, while the working app runs locally or through Docker.

Some notable features include:

  • Node status dashboard using getblockchaininfo, getnetworkinfo, and getmempoolinfo.
  • Block and transaction explorers backed directly by Bitcoin Core.
  • Wallet lab for balances, addresses, UTXOs, and transaction history.
  • Regtest mining and faucet workflows.
  • Demo Mode for fast onboarding with a fresh wallet and guided transaction flow.
  • Mempool and fee policy views.
  • RPC explorer with read-only guardrails.
  • PSBT lab.
  • Multisig create/fund/spend workflow.
  • Timelock lab for locktime, CLTV, CSV, and sequence.
  • Script Lab with conditionals, P2SH/P2WSH, hashlocks, and script testing.
  • OP_RETURN data transaction builder.
  • Peer dashboard with privacy warnings for Tor/I2P and service flags.
  • Educational keys page covering descriptors, xpubs, derivation paths, and hardware-wallet PSBT flow without handling real private keys.
  • GitHub Actions CI and GitHub Pages deployment for public docs.

One of the biggest challenges was handling live Bitcoin Core state during testing. Regtest is powerful, but it is also stateful: coinbase maturity, stale wallets, deleted addresses, insufficient funds, and node resets can all break tests if the lifecycle is not isolated. I added documentation and structure around clean regtest testing, wallet setup, maturity mining, and safer RPC error handling.

Prize Categories

I am not submitting this to a sponsor-specific prize category. This is a passion project focused on Bitcoin Core education, local-first tooling, and helping developers understand Bitcoin by working directly with their own node.

Top comments (0)