This guide walks you through setting up a local development environment for Mempool. You can run just the frontend (proxied to production backend) or a complete stack with backend and frontend.Documentation Index
Fetch the complete documentation index at: https://mintlify.com/mempool/mempool/llms.txt
Use this file to discover all available pages before exploring further.
Quick Frontend Setup
If you want to quickly improve the UI, fix typos, or make other updates that don’t require backend changes, you can run the frontend locally and proxy to the mempool.space backend.Configure the Site
The same frontend codebase is used for both mempool.space and liquid.network.Configure for your target site:
- Mempool
- Liquid
Start the Development Server
Run the frontend with production backend proxy:The frontend will be available at
http://localhost:4200/ with all API requests proxied to https://mempool.space.Full Stack Setup
For backend development or running a complete local instance, follow these steps to set up both backend and frontend.These instructions are intended for developers. For production deployments, see the installation methods in the main README.
Backend Setup
Configure Bitcoin Core
Enable Restart Bitcoin Core after making these changes.
txindex, RPC, and set credentials in bitcoin.conf:Configure Electrum Server (Optional)
Pick an Electrum Server implementation, configure it, and ensure it’s synced.Supported implementations:
- romanz/electrs
- cculianu/Fulcrum
- mempool/electrs (Esplora mode)
Set Up MariaDB
Mempool requires MariaDB v10.5 or later. If you have MySQL installed, migrate any existing databases before installing MariaDB.
Build the Backend
- Node.js 20.x and npm 9.x or newer required
- Rust must be installed
Configure the Backend
Create your configuration file:Edit
mempool-config.json to set:- Bitcoin Core RPC credentials in
CORE_RPCsection - Electrum backend type in
MEMPOOL.BACKEND:"electrum"for romanz/electrs or Fulcrum"esplora"for mempool/electrs"none"if not using Electrum
Frontend Setup
Development Workflows
Backend Development with Watchers
The backend is static TypeScript compiled to thedist folder. To avoid manual shutdown/recompile/restart cycles, set up watchers:
Frontend Development Variants
The frontend can run in different modes:- Local Backend
- Production Proxy
- Esplora Backend
Connect to your local backend:
Regtest Development
Useful for testing without mainnet data.Start Bitcoin Core in Regtest Mode
Start Bitcoin Core in Regtest Mode
Create and Load Wallet
Create and Load Wallet
Generate Blocks
Generate Blocks
Send Test Transactions
Send Test Transactions
Auto-Generate Blocks
Auto-Generate Blocks
Generate blocks at regular intervals:
Advanced Configuration
Mining Pools Update
By default, mining pools are not automatically updated. To manually update:mempool-config.json:
Re-index Tables
Manually force re-indexing of specific tables:Next Steps
Architecture
Learn about Mempool’s system architecture
Testing
Run tests and ensure code quality
Contributing
Submit your first contribution
API Documentation
Explore the Mempool API