Current features of NodeGuard are the following:
- Asynchronous channel funding leveraging cold multisig wallets and hot wallets
- Multisig wallet creation and import (BIP39), only segwit for now
- Liquidity automation by settings rules in tandem with NodeGuard liquidator
- Optional remote signing through NodeGuard Remote Signer functions for channel funding transactions, separating the NodeGuard keys from the actual software
- Automatic sweeping of funds in lightning nodes to avoid having funds on the node hot wallets
- Channel management
- Channel creation interception with returning address to multisig wallets to avoid having funds on hot wallets
- Support for hardware wallets to sign the PSBTs for channel funding transactions
- Minimalistic in-browser wallet with NodeGuard Companion to ease signing of transactions and wallet creation
- In-browser notification systems for channel approvals
- Two-factor authentication
Check Contributing.md
TODO
- Run polar regtest network with Polar, import devnetwork.zip (in the root of this repo) and start it
- Open FundsManager.sln with Visual Studio or your favourite IDE/EDITOR
- Set startup project to docker-compose
- Run
##Requirements
- VS Code / Visual Studio
- Docker desktop
- Dotnet SDK 6+
- Dotnet-ef global tool
- Polar lightning
- AWS Lambda function + AWS credentials for the Remote FundsManagerSigner, check this
This project uses NPGSQL(postgres) database provider for EfCore (ORM). You need to install dotnet-ef global tool
dotnet tool install -g dotnet-ef
- To update the database (create it & apply migrations) you shall do:
cd src && dotnet ef database update
- To create a new migration
cd src && dotnet ef migrations add changeInEntityExampleAddedNewField // This is an example
- To remove a non-applied migration (once a migration is applied, you have to drop the database to remove it)
cd src && dotnet ef migrations remove
Launch the FundsManager Docker VS task Launch The FundsManager VS task
Import and start devnetwork.polar.zip
in polar
Launch the FundsManager Docker NOVS task
Launch The FundsManager NOVS task
Import and start devnetwork.polar.zip
in polar
Start docker compose from terminal (see below)
Then, start the vscode launch configuration Launch against running docker-compose env (DEV)
Navigate to http://localhost:38080/
Start all the dependencies in docker-compose by running:
cd docker
docker-compose -f docker-compose.dev-novs.yml up -d
Check Security.md
This project is licensed under AGPLv3.0. Check LICENSE for more information.