thunderhub/README.md

124 lines
3.6 KiB
Markdown
Raw Normal View History

2020-02-05 06:02:12 +01:00
# **ThunderHub - Lightning Node Manager**
![Home Screenshot](./docs/Home.png)
[![license](https://img.shields.io/github/license/DAVFoundation/captain-n3m0.svg?style=flat-square)](https://github.com/DAVFoundation/captain-n3m0/blob/master/LICENSE)
2020-02-27 09:06:53 +01:00
## Table Of Contents
- [Introduction](#introduction)
- [Features](#features)
- [Installation](#installation)
- [Development](#development)
## 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
This repository consists of a **NextJS** server that handles both the backend **Graphql Server** and the frontend **React App**.
2020-02-27 09:06:53 +01:00
- NextJS
2020-02-27 09:06:53 +01:00
- ReactJS
- Typescript
- Styled-Components
- Apollo
- 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.
2020-02-27 09:06:53 +01:00
### 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](https://medium.com/coinmonks/lightning-network-channel-balancing-with-thunderhub-972b41bf9243))
- Update your all your channels fees or individual ones.
- Backup, verify and recover all your channels.
- Sign and verify messages.
2020-02-27 09:06:53 +01:00
### 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.
2020-02-27 09:06:53 +01:00
- Quickly sync your accounts between devices. No need to copy/paste macaroons and certificates.
### Deployment
- Docker images for easier deployment (WIP)
2020-02-27 09:06:53 +01:00
### Future Features
- Loop In and Out to provide liquidity or remove it from your channels.
- Integration with HodlHodl
- Storefront interface
2020-02-27 09:06:53 +01:00
## Installation
2020-02-26 18:55:07 +01:00
To run ThunderHub you first need to clone this repository.
2020-02-05 06:02:12 +01:00
2020-02-26 18:55:07 +01:00
```javascript
git clone https://github.com/apotdevin/thunderhub.git
```
2020-02-05 06:02:12 +01:00
2020-02-27 09:06:53 +01:00
### **Requirements**
2020-02-05 06:02:12 +01:00
2020-02-26 18:55:07 +01:00
- Node installed
- Yarn installed
2020-02-05 06:02:12 +01:00
After cloning the repository run `yarn` to get all the necessary modules installed.
2020-02-05 06:02:12 +01:00
After `yarn` has finished installing all the dependencies you can proceed to build and run the app with the following commands.
2020-02-05 06:02:12 +01:00
```javascript
yarn build
yarn start
2020-02-05 06:02:12 +01:00
```
This will start the server on port 3000, so just head to `localhost:3000` to see the app running.
2020-02-05 06:02:12 +01:00
#### HodlHodl Integration
2020-02-05 06:02:12 +01:00
To be able to use the HodlHodl integration create a `.env` file in the root folder with `HODL_KEY='[YOUR API KEY]'` and replace `[YOUR API KEY]` with the one that HodlHodl provides you.
2020-02-05 06:02:12 +01:00
2020-02-27 09:06:53 +01:00
## Development
2020-02-05 06:02:12 +01:00
If you want to develop on ThunderHub and want hot reloading when you do changes, use the following commands:
2020-02-05 06:02:12 +01:00
```javascript
yarn dev
2020-02-05 06:02:12 +01:00
```
#### Storybook
2020-02-05 06:02:12 +01:00
You can also get storybook running for quicker component development.
```javascript
yarn storybook
```