Fork of LndHub with some fixes, as well as additions for lnurl-pay support https://lndhub.kosmos.org
You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
Go to file
raucao 9b81cc6287
Store and return invoice memo
1 year ago
.github/workflows Fix: Fix actions for Umbrel 2 years ago
class Store and return invoice memo 1 year ago
controllers Store and return invoice memo 1 year ago
doc Last .md style improvement 2 years ago
scripts ref 2 years ago
static Fixed progress bar css for small values 2 years ago
templates REF: Change title 2 years ago
utils Update dependencies (#121) 2 years ago
.babelrc Update .babelrc 3 years ago
.eslintrc Umbrel support (#141) 2 years ago
.gitignore INIT 5 years ago
Dockerfile Update node from 12-buster to 16-bullseye 2 years ago
LICENSE MIT License added see #40 4 years ago
README.md Update README.md 2 years ago
bitcoin.js Umbrel support (#141) 2 years ago
btc-decoder.js Umbrel support (#141) 2 years ago
config.js move default in varible name to comment 2 years ago
index.js index.js: add HOST environment argument 2 years ago
lightning.js Umbrel support (#141) 2 years ago
package-lock.json fix: upgrade express-rate-limit from 5.3.0 to 5.4.1 2 years ago
package.json fix: upgrade express-rate-limit from 5.3.0 to 5.4.1 2 years ago
rpc.proto Update dependencies (#121) 2 years ago
run-process-locked.sh OPS 3 years ago

README.md

LndHub

Wrapper for Lightning Network Daemon (lnd). It provides separate accounts with minimum trust for end users.

INSTALLATION

You can use those guides or follow instructions below:

git clone git@github.com:BlueWallet/LndHub.git
cd LndHub
npm i

Install bitcoind, lnd, and redis. Edit LndHub's config.js to set it up correctly. Copy the files admin.macaroon (for Bitcoin mainnet, usually stored in ~/.lnd/data/chain/bitcoin/mainnet/admin.macaroon) and tls.cert (usually stored in ~/.lnd/tls.cert) into the root folder of LndHub.

LndHub expects LND's wallet to be unlocked, if not — it will attempt to unlock it with the password stored in config.lnd.password. Don't forget to configure disk-persistence for redis (e.g., you may want to set appendonly to yes in redis.conf (see http://redis.io/topics/persistence for more information).

If you have no bitcoind instance, for example if you use neutrino, or you have no bitcoind wallet, for example if you use LND for wallet managment, you can remove the bitcoind settings from config.js. Please note that this feature is limited to Bitcoin, so you can't use it if you use any other cryptocurrency with LND (e.g., Litecoin).

Deploy to Heroku

Add config vars :

  • CONFIG : json serialized config object
  • MACAROON: hex-encoded admin.macaroon
  • TLSCERT: hex-encoded tls.cert

Run in docker

LndHub is available on Docker Hub as bluewalletorganization/lndhub. Please note that this requires a separate instance of redis and LND and optionally, bitcoind. You can also view Umbrel's implementation using docker-compose here.

Reference client implementation

Can be used in ReactNative or Nodejs environment

Tests

Acceptance tests are in https://github.com/BlueWallet/BlueWallet/blob/master/tests/integration/lightning-custodian-wallet.test.js

image

Responsible disclosure

Found critical bugs/vulnerabilities? Please email them to bluewallet@bluewallet.io Thanks!