/FlaskBitcoinDashboard

Python Flask Dashboard for managing a Bitcoin node.

Primary LanguageJavaScript

FlaskBitcoinDashboard

Python Flask Dashboard made with Bootstrap for managing a Bitcoin node (tried on Ubuntu/OSX). Can be accessed by anyone on the local network and works on both desktop and mobile.

Currently for bitcoind/lnd. I may work on a c-lightning version if there's any interest.

Thanks to @wintercooled for the inspiration.

Imgur Imgur Imgur Imgur Imgur

First up, we'll install virtualenv.

sudo apt install virtualenv

Clone the repo into the directory of your choosing.

git clone https://github.com/M-D-Br/FlaskBitcoinDashboard.git

Into the folder and create the virtual environment.

cd FlaskBitcoinDashboard

virtualenv venv

Activate the virtual environment.

source venv/bin/activate

Download Flask, the Bitcoin RPC tools and a QR code module.

pip install flask

pip install python-bitcoinrpc

pip install pyqrcode

Now for the Lightning part (based off this guide).

pip install grpcio grpcio-tools googleapis-common-protos

git clone https://github.com/googleapis/googleapis.git

curl -o rpc.proto -s https://raw.githubusercontent.com/lightningnetwork/lnd/master/lnrpc/rpc.proto

python -m grpc_tools.protoc --proto_path=googleapis:. --python_out=. --grpc_python_out=. rpc.proto

Almost there. You need to input your own RPC credentials.

sudo nano app/backend.py

Edit the variables: rpc_user, rpc_password, rpc_port and allowed_ip, as well as lnd_dir_location

exit that (CTRL+X, y to save the changes) and export the Flask app.

export FLASK_APP=dashboard.py

Voila! To run the server:

flask run --host=0.0.0.0

Go to any web browser on your network and enter the IP address of the node + port 5000, i.e. 192.168.1.1:5000

Alternatively, you can specify a port by running flask run --host=0.0.0.0 --port=[number]

CTRL + C to close the server.

Let me know if you have any issues or suggestions.