This repository contains the configuration files necessary to set up a robust, local Bitcoin Regtest environment. It accompanies the blog post: Setting Up a Local Bitcoin Dev Environment (Regtest, Fulcrum, Mempool, Ord).
The goal is to create a "mini-mainnet" on your local machine using a hybrid approach (Native Binaries + Docker) for maximum performance and ease of use.
| File | Purpose |
|---|---|
bitcoin.conf |
Configures Bitcoin Core to run in Regtest mode with specific RPC credentials. |
fulcrum-config.conf |
Configures the Fulcrum Electrum server to index your local Regtest node. |
compose.yml |
A Docker Compose file to spin up the Mempool block explorer backend and frontend. |
ord.yaml |
Configuration for the Ord tool to experiment with inscriptions locally. |
You will need the following software installed:
- Bitcoin Core (Latest stable release)
- Fulcrum (Latest release)
- Docker Desktop (For running Mempool)
- Ord (Optional, for inscriptions)
The configuration files in this repository use Windows file paths (e.g., D:\Program\Bitcoin\data) as placeholders.
Tip
I don't know if this would matter, but if you encounter issues with the configuration file, perhaps check that the encoding and EOF is correct for your OS?
Before running anything:
- Open each
.confand.yamlfile. - Search for
datadiror directory paths. - Update them to match the actual directory structure on your local machine (Mac/Linux users must switch to forward slashes
/).
Place bitcoin.conf in a known location. Start Bitcoin Core pointing to this config:
./bitcoin-qt -conf="/path/to/bitcoin.conf"- RPC User:
mempool - RPC Password:
mempool
Update fulcrum-config.conf to point to your Bitcoin data directory. Start Fulcrum:
./Fulcrum /path/to/fulcrum-config.conf- Note: You must mine at least 1 block (
generatetoaddress 1 <addr>) for Fulcrum to initialize successfully.
Ensure Docker is running. Navigate to the folder containing compose.yml and run:
docker compose up -dAccess the explorer at: http://localhost:8089
Update ord.yaml with your paths. Run:
./ord --config ord.yaml server --http-port 8088Because these services depend on one another, you should always start them in the following order:
- Start Bitcoin Core - Wait for RPC initialization.
- Start Fulcrum - Wait for it to sync with the tip.
- Start Mempool - Wait for the web interface to load.
- Start Ord - Can be started anytime after step 1.