Setup BTC RPC Explorer

Install BTC RPC Explorer on your Bitcoin node.

BTC RPC Explorer is essentially a web GUI for the Bitcoin JSON-RPC API. It is highly useful for node monitoring, management, and as a blockchain explorer.

Before you start make sure you've installed Node.js.

Install BTC RPC Explorer

Get the latest stable release

Clone the repo:

cd ~
git clone https://github.com/janoside/btc-rpc-explorer.git
cd btc-rpc-explorer/

Show the latest version tags:

git describe --tags `git rev-list --tags --max-count=20`

Switch to the latest stable version:

git checkout -f <version-tag>

Install

Update local dependencies within version ranges specified in package.json:

npm update

Install:

Then try installing again:

Configure

Create the config file:

Add the following:

  • BTCEXP_HOST: Replace with your Pi's local IP to make BTC RPC Explorer accessible on your LAN.

  • BTCEXP_BITCOIND_COOKIE: Update the path with your own user.

  • BTCEXP_BASIC_AUTH_PASSWORD: Set a strong password to secure access.

With this setup, BTC RPC Explorer is accessible from any machine on our LAN, is password-protected, and also connected to our Electrum server.

Configure systemd service

Create the service file:

Add the following:

Line 6,8 and 9 make sure to replace your_user by your own user.

See .env-sample to discover more options.

Finally, reload systemd:

Startup

Configure BTC-RPC Explorer to automatically start at boot:

Start BTC-RPC Explorer:

You'll see a popup asking you to enter a username and password. The username doesn't matter; just use the password you set up in the .env file.

Issue with Node Details page

The page /node-details of BTC RPC Explorer throws an error. I suck at coding but I was able to fix it with ChatGPT.

Edit the below file:

At line 29, replace this block of code:

By this one:

(Basically I removed getblockchaininfo.warnings.trim().length > 0 in both if statements).

Make sure to restart BTC RPC Explorer and the page should be working:

Tor

I personally wouldn't risk exposing this app to the outside world. It has some bugs, is vulnerable to brute-force attacks, and stores the password in a plain text .env file.

If I ever do, I will ensure that the features enabling manual Bitcoin JSON-RPC API calls are disabled.

Last updated

Was this helpful?