You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+57-1Lines changed: 57 additions & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -268,6 +268,62 @@ After saving, **reboot the miner** for changes to take effect.
268
268
> 📌 Make sure the `Prefix` matches your naming in the Grafana dashboard to correctly group your stats.
269
269
270
270
271
+
## ⚡ Fulcrum - Electrum Server for Fast Wallet Access
272
+
Fulcrum is a high-performance Electrum server written in C++, designed to serve light wallets with fast, index-based blockchain access. It's a critical component if you're running interfaces like **Mempool** or **Electrum wallets** and want **fast, efficient querying** of the Bitcoin blockchain without bogging down your full node.
273
+
274
+
### 🧠 Why Do We Need Fulcrum?
275
+
- **Index-based lookups**: Fulcrum allows wallet clients to quickly check balances, transactions, and history using indexed data.
276
+
- **Mempool UI Backend**: The Mempool interface relies on Fulcrum to fetch live blockchain data and mempool information.
277
+
- **Separation of Concerns**: Keeps your Bitcoin Core node lean while providing fast query capabilities to external tools.
278
+
279
+
> ❗ **Important:** Only start Fulcrum **after your Bitcoin node is fully synced**. Running Fulcrum during initial sync can lead to database corruption.
280
+
281
+
### 🧊 Performance and Stability Warning
282
+
Even with NVMe storage, **initialising Fulcrum takes time**. On a Synology DS1019+ with NVMe volumes, the initial index sync **took over a week**.
283
+
- Do **not stop** Fulcrum or the NAS during this phase.
284
+
- Any interruption can **corrupt the index** and require a full rebuild.
285
+
- Consider disabling automatic reboots or DSM updates during initialisation.
286
+
287
+
### ▶️ Starting Fulcrum
288
+
```bash
289
+
docker compose --profile bitcoin --profile mempool up -d fulcrum
290
+
```
291
+
292
+
You can monitor its logs with:
293
+
```bash
294
+
docker logs -f mempool-fulcrum
295
+
```
296
+
> ✅ Only proceed to set up Mempool or Electrum clients **after** Fulcrum has successfully completed its initial sync.
297
+
298
+
At that point, Fulcrum will be fully indexed and ready to serve queries. You should see log lines indicating it's listening for connections and serving indexes, e.g.:
299
+
```
300
+
[info] Now listening on 0.0.0.0:50001 (TCP) and 0.0.0.0:50002 (SSL)
301
+
[info] Indexing complete. Ready to serve clients.
302
+
```
303
+
304
+
## Bitcoin Explorer
305
+
[Bitcoin RPC Explorer](https://github.com/janoside/btc-rpc-explorer) is a web-based tool for inspecting and querying your local Bitcoin node. It provides an intuitive interface for viewing blocks, transactions, mempool activity, and various statistics pulled via RPC.
306
+
307
+
This is particularly useful when running your own full node, as it allows you to visualize what your node sees without needing to interact with raw RPC commands.
308
+
309
+
### Prerequisites
310
+
Before starting Bitcoin Explorer, make sure that:
311
+
- The **Bitcoin Node** is fully synced and running.
312
+
- **Fulcrum** has completed its initial indexing (optional but recommended for completeness).
313
+
314
+
### Starting the Explorer
315
+
316
+
Start the container using:
317
+
318
+
```bash
319
+
docker compose --profile bitcoin up -d bitcoin-explorer
320
+
```
321
+
The explorer will attempt to connect to your Bitcoin node using the credentials from the `.env` file. If everything is set up correctly, you’ll be able to browse blocks, transactions, and node status in real time. Once running, the explorer is accessible via: `http://<your-server-ip>:3002`:
0 commit comments