Raspiblitz Web - a responsive Web UI for the RaspiBlitz
In collaboration with Bitcoin Design.
Images of the WebUI can be found at raspiblitz-web-progress
Built with React & Tailwind CSS.
Translations
If you want to bring the Raspiblitz WebUI to other languages, please help us translate it via Weblate :)
Big thanks to our translators, which you can find in this README.
Development
Dependencies
Update npm dependencies
yarn upgrade-interactive
If you notice several versions of a dep in the yarn.lock
-file:
yarn dedupe
Further info: https://dev.to/arcanis/yarn-2-2-dedupe-faster-lighter-ha5#dedupe-command
Dev install with external RaspiBlitz as Backend (macOS)
- Make sure
nvm
is installed. - Run
nvm install 16
or if already installednvm use
- Install yarn on a fresh nvm:
npm install --global yarn
- run
yarn
- copy
.env.sample
to.env
(the .env file will be ignored by git) - change in
.env
the value ofREACT_APP_BACKEND
to your local raspiblitz - for example if your RaspiBlitz is running on local Ip 192.168.1.123 then change value tohttp://192.168.1.123:80
- with
yarn start
it should now connect to your external raspiblitz
Dev workflow
Frontend
yarn install
yarn start
Backend
For the backend, there currently exist two options:
- Using the provided Mock backend
- Easy to setup, but limited data
- Using blitz_api with Polar
- Some changes needed for local development
- Possibly more data (depending on your ln setup :) )
Mock backend
Open another terminal
cd backend-mock
yarn install
yarn start
Then go to http://localhost:3000
and use the password password
.
Blitz API
This guide uses Polar for easier development, but you can also use a real lightning node.
- First, download Polar and get it to run.
- Create at least one bitcoin and one lightning node.
- Next, clone the blitz_api, install the dependencies.
- In addition, you will need redis installed for
blitz_api
to work.
- In addition, you will need redis installed for
- Create a
.env
file (see .env_sample in blitz_api) and copy the bitcoin and ln info into it.- Important: When definining
shell_script_path
you need to define a directory where a folder calledconfig.scripts
and a file calledblitz.debug.sh
reside in. Otherwiseblitz_api
may not work (used on the RaspiBlitz for logging)
- Important: When definining
- Make the following change in
blitz_api
:- In main/app/main.py, change the
prefix_format
from/v{major}
to/api/v{major}
.
- In main/app/main.py, change the
Now you can start the blitz_api
and run yarn start
in raspiblitz-web.
Please do not commit the above changes.
Linting
eslint and prettier will be used accoring to the create-react-app docs
Credits & Licenses
Icons
- RaspiBlitz Icon from RaspiBlitz
- Other icons from Hero Icons & BitcoinDesign Icons
- CSS Loading Spinner from loading.io
- ButtonSpinner from SpinKit
App logos
- BTC RPC Logo from Bitcoin Explorer
- BTCPay Logo from btcpayserver
- RTL Logo from RTL
- Specter Logo from specter-desktop
- Mempool.space Logo from mempool
- LNbits Logo from lnbits-legend
- LND Logo from LightningLabs
- Core Lightning Logo from Blockstream