* chore: bump version * style: password field changes * Feat/lerna integration (#17) * chore: move into package folder * chore: initial lerna setup * chore: yarn lock cleanup * chore: package organization * chore: yarn lock update * chore: update packages * chore: wip lerna integration * chore: downgrade date-fns * chore: lerna cleanup * chore: add env file * docs: update README * chore: organize configs * Feat/hodlhodl integration (#18) * feat: hodl integration start * chore: add pagination and more * chore: change filter flow * chore: change offer card ui * chore: more offer card changes * chore: small refactors and stylings * v0.2.0 * docs: update README
4.9 KiB
ThunderHub - Lightning Node Manager
Table Of Contents
Introduction
ThunderHub is an open-source LND node manager where you can manage and monitor your node on any device or browser. It allows you to take control of the lightning network with a simple and intuitive UX and the most up-to-date tech stack.
Tech Stack
The repository consists of two packages (client and server) and is maintained with LernaJS and Yarn Workspaces.
Client
- ReactJS
- Typescript
- Styled-Components
- Apollo
Server
- Apollo-Server
- GraphQL
- Ln-Service
Features
Monitoring
- Overview of current and pending balance for the Lightning and Bitcoin wallets.
- URI strings for the node (Onion public uri also if available)
- Invoice and Payment graph.
- Liquidity report with total remote and local lightning balance.
- Forwarded payments graph and the routes used for these payments.
- Complete network info.
- View open/pending/closed channels and how balanced they are.
- View channel base and rate fees.
- View all transactions.
- View all forwarded payments.
- View all chain transactions.
- View all unspent UTXOS.
Management
- Send and Receive Lightning payments.
- Send and Receive Bitcoin payments.
- Decode lightning payment requests.
- Open and close channels.
- Balance your channels through circular payments. (Check out the Tutorial)
- Update your all your channels fees or individual ones.
- Backup, verify and recover all your channels.
- Sign and verify messages.
Visual
- Responsive UI for any device. Mobile, Tablet or Desktop.
- Light and Dark mode.
- Check values in Bitcoin, Satoshis or Fiat.
Accounts
- Many ways to connect to your node: HEX/Base64 strings, LNDConnect Url, BTCPayServer Info or QR codes.
- Have view-only and/or admin accounts.
- Manage however many accounts your browser storage can hold.
- Quickly sync your accounts between devices. No need to copy/paste macaroons and certificates.
Deployment
- Docker images for easier deployment (WIP)
Future Features
- Loop In and Out to provide liquidity or remove it from your channels.
- Integration with HodlHodl
- Storefront interface
Installation
To run ThunderHub you first need to clone this repository.
git clone https://github.com/apotdevin/thunderhub.git
Requirements
- Node installed
- Yarn installed
After cloning the repository run yarn
to get all the necessary modules installed. Yarn workspaces will handle installing modules for both the client and the server.
ThunderHub - Server
To be able to use the HodlHodl integration create a .env
file in the /server
folder with HODL_KEY='[YOUR API KEY]'
and replace [YOUR API KEY]
with the one that HodlHodl provides you.
To get the server running use the following commands
yarn server:prod
yarn server:run
If the server starts succesfully, you should see info [server.js]: Server ready at http://localhost:3001/
in the terminal
ThunderHub - Client
To get the React frontend running use the following commands
This must be done in the /client
folder
yarn start
If the frontend starts succesfully, you should see Compiled successfully! You can now view app in the browser.
in the terminal and a browser window should have opened in your browser.
Development
If you want to develop on ThunderHub and want hot reloading when you do changes, use the following commands:
ThunderHub - Server
yarn server:dev
ThunderHub - Client
Running the commands yarn start
in the client
folder works for development.
Storybook
You can also get storybook running for quicker component development.
yarn storybook