Skip to content

Commit bb77890

Browse files
committed
feat: Add custom Bitcoin Core-compatible network support
1 parent 18b72d1 commit bb77890

2 files changed

Lines changed: 109 additions & 156 deletions

File tree

README.md

Lines changed: 49 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,12 @@
11
# Simple Node Dashboard
22

3-
A lightweight, self-hosted dashboard that displays information from your Bitcoin, Litecoin, or Monero node.
3+
A lightweight, self-hosted dashboard that displays information from your Bitcoin, Litecoin, Monero, or other Bitcoin Core-compatible node.
44

55

66
## Features
77

88
- Clean display of essential node and network statistics
9+
- Built-in support for Bitcoin, Litecoin, and Monero, plus any Bitcoin Core-compatible coin via custom network configs
910
- Filesystem-based caching to reduce RPC I/O
1011
- Minimal and easy setup
1112
- Fully responsive for desktop and mobile devices
@@ -54,7 +55,7 @@ Supported environment variables (all optional; the defaults match the configurat
5455

5556
| Variable | Default | Description |
5657
|----------|---------|-------------|
57-
| `NETWORK` | `CHANGE_ME` | Network to display: `BTC`, `LTC`, or `XMR` |
58+
| `NETWORK` | `CHANGE_ME` | Network to display: `BTC`, `LTC`, `XMR`, or a custom ticker (see [Custom Networks](#custom-networks)) |
5859
| `NODE_IP` | `CHANGE_ME` | Node IP address (usually `127.0.0.1`) |
5960
| `RPC_PORT` | `CHANGE_ME` | RPC port (BTC: 8332 \| LTC: 9332 \| XMR: 18081) |
6061
| `RPC_USER` | `CHANGE_ME` | RPC username (not usually needed for XMR) |
@@ -69,6 +70,52 @@ Supported environment variables (all optional; the defaults match the configurat
6970
| `SHOW_THEME_SWITCHER` | `true` | Set `false` to lock the theme and hide the switcher |
7071

7172

73+
## Custom Networks
74+
75+
Beyond the built-in `BTC`, `LTC`, and `XMR`, the dashboard works with any
76+
**Bitcoin Core-compatible** coin (Bitcoin Cash, Dash, Digibyte, etc.) that speaks the standard Bitcoin JSON-RPC. There are two ways to add one.
77+
78+
**1. Add an entry to the `$networks` array** near the top of `index.php`:
79+
80+
```php
81+
'BCH' => ['name' => 'Bitcoin Cash', 'family' => 'bitcoin', 'unit' => 'BCH', 'halving_interval' => 210000, 'initial_subsidy' => 50, 'fee_unit' => 'sat/vB', 'decimals' => 8],
82+
```
83+
84+
Then set `network` (or the `NETWORK` env var) to `BCH`.
85+
86+
**2. Define one via environment variables** (handy for Docker). Set `NETWORK` to the
87+
ticker, plus any of the `CUSTOM_*` overrides below:
88+
89+
```sh
90+
docker run -d -p 80:80 \
91+
-e NETWORK=BCH \
92+
-e NODE_IP=127.0.0.1 \
93+
-e RPC_PORT=8332 \
94+
-e CUSTOM_NAME="Bitcoin Cash" \
95+
-e CUSTOM_UNIT=BCH \
96+
-e CUSTOM_HALVING_INTERVAL=210000 \
97+
-e CUSTOM_INITIAL_SUBSIDY=50 \
98+
-e CUSTOM_FEE_UNIT=sat/vB \
99+
-e CUSTOM_DECIMALS=8 \
100+
techtoshi/simple-node-dashboard
101+
```
102+
103+
| Variable | Default | Description |
104+
|----------|---------|-------------|
105+
| `CUSTOM_NAME` | the ticker | Display name (e.g. "Bitcoin Cash") |
106+
| `CUSTOM_UNIT` | the ticker | Currency unit shown alongside amounts |
107+
| `CUSTOM_HALVING_INTERVAL` | `210000` | Blocks between reward halvings |
108+
| `CUSTOM_INITIAL_SUBSIDY` | `50` | Initial block reward |
109+
| `CUSTOM_FEE_UNIT` | `sat/vB` | Label for the fee-rate column |
110+
| `CUSTOM_DECIMALS` | `8` | Decimal places shown for the mempool total-fee amount |
111+
112+
> The supply, block-reward, and next-halving stats assume a Bitcoin-style halving
113+
> schedule. Coins with a different emission model will show those particular figures
114+
> inaccurately; block height, sync status, mempool, fees, and hashrate are unaffected.
115+
116+
Monero is handled as a special case and cannot be used as a template for custom coins.
117+
118+
72119
## Security Notes
73120

74121
- Make sure to protect the dashboard if you’re displaying sensitive node info.

0 commit comments

Comments
 (0)