diff --git a/LICENSE b/LICENSE new file mode 100644 index 00000000..61e9f256 --- /dev/null +++ b/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2018 Anthony Potdevin + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. \ No newline at end of file diff --git a/README.md b/README.md index 52b62166..ccabe08b 100644 --- a/README.md +++ b/README.md @@ -1,23 +1,102 @@ # **ThunderHub - Lightning Node Manager** +![Home Screenshot](assets/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) [![Known Vulnerabilities](https://snyk.io/test/github/apotdevin/thunderhub/badge.svg?targetFile=client/package.json)](https://snyk.io/test/github/apotdevin/thunderhub) [![Known Vulnerabilities](https://snyk.io/test/github/apotdevin/thunderhub/badge.svg?targetFile=server/package.json)](https://snyk.io/test/github/apotdevin/thunderhub) + +## 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 + +#### Client + +[![Known Vulnerabilities](https://snyk.io/test/github/apotdevin/thunderhub/badge.svg?targetFile=client/package.json)](https://snyk.io/test/github/apotdevin/thunderhub) + +- ReactJS +- Typescript +- Styled-Components +- Apollo + +#### Server + +[![Known Vulnerabilities](https://snyk.io/test/github/apotdevin/thunderhub/badge.svg?targetFile=server/package.json)](https://snyk.io/test/github/apotdevin/thunderhub) + +- 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. + +### 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. + +### 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 up to 10 different nodes. +- Quickly sync your accounts between devices. No need to copy/paste macaroons and certificates. + +### Future Features + +- Loop In and Out to provide liquidity or remove it from your channels. +- Docker Image for easy deployments. + +## Installation + To run ThunderHub you first need to clone this repository. ```javascript git clone https://github.com/apotdevin/thunderhub.git ``` -## **Requirements** +### **Requirements** - Node installed - Yarn or NPM installed After cloning the repository, go into both the `/client` and the `/server` folders, and run `yarn` or `npm install` in both of them to get all the necessary modules installed. -## **ThunderHub - Server** +### **ThunderHub - Server** -### To get the server running use the following commands +#### To get the server running use the following commands -##### This must be done in the `/server` folder. +##### This must be done in the `/server` folder ```javascript //With yarn: @@ -33,11 +112,11 @@ npm run start If the server starts succesfully, you should see `info [server.js]: Server ready at http://localhost:3001/` in the terminal -## **ThunderHub - Client** +### **ThunderHub - Client** -### To get the React frontend running use the following commands +#### To get the React frontend running use the following commands -##### This must be done in the `/client` folder. +##### This must be done in the `/client` folder ```javascript //With yarn: @@ -51,7 +130,7 @@ npm run 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. -## **For Development** +## Development If you want to develop on ThunderHub and want hot reloading when you do changes use the following commands diff --git a/assets/Home.png b/assets/Home.png new file mode 100644 index 00000000..954d1a29 Binary files /dev/null and b/assets/Home.png differ diff --git a/client/src/sections/header/Header.tsx b/client/src/sections/header/Header.tsx index 2cfb8fe8..f4aa2708 100644 --- a/client/src/sections/header/Header.tsx +++ b/client/src/sections/header/Header.tsx @@ -10,11 +10,7 @@ import { import { HomeButton } from '../../views/entry/homepage/HomePage.styled'; import { Link } from 'react-router-dom'; import { useAccount } from '../../context/AccountContext'; -import { - SingleLine, - Sub4Title, - ResponsiveLine, -} from '../../components/generic/Styled'; +import { SingleLine, ResponsiveLine } from '../../components/generic/Styled'; import { Cpu, MenuIcon,