Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/bluewallet/lndhub
Wrapper for Lightning Network Daemon. It provides separate accounts for end-users
https://github.com/bluewallet/lndhub
api bitcoin lightning lightning-network microservice
Last synced: about 2 hours ago
JSON representation
Wrapper for Lightning Network Daemon. It provides separate accounts for end-users
- Host: GitHub
- URL: https://github.com/bluewallet/lndhub
- Owner: BlueWallet
- License: mit
- Created: 2018-12-02T22:17:33.000Z (almost 6 years ago)
- Default Branch: master
- Last Pushed: 2024-11-05T11:16:36.000Z (14 days ago)
- Last Synced: 2024-11-05T12:39:50.594Z (14 days ago)
- Topics: api, bitcoin, lightning, lightning-network, microservice
- Language: JavaScript
- Homepage: http://LndHub.io
- Size: 1.42 MB
- Stars: 793
- Watchers: 52
- Forks: 198
- Open Issues: 70
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
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:
* https://github.com/dangeross/guides/blob/master/raspibolt/raspibolt_6B_lndhub.md
* https://medium.com/@jpthor/running-lndhub-on-mac-osx-5be6671b2e0c```
git clone [email protected]: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`](https://hub.docker.com/r/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](https://github.com/getumbrel/umbrel/blob/280c87f0f323666b1b0552aeb24f60df94d1e43c/apps/lndhub/docker-compose.yml).### Reference client implementation
Can be used in ReactNative or Nodejs environment
* https://github.com/BlueWallet/BlueWallet/blob/master/class/wallets/lightning-custodian-wallet.js
### Tests
Acceptance tests are in https://github.com/BlueWallet/BlueWallet/blob/master/tests/integration/lightning-custodian-wallet.test.js
![image](https://user-images.githubusercontent.com/1913337/52418916-f30beb00-2ae6-11e9-9d63-17189dc1ae8c.png)
## Responsible disclosure
Found critical bugs/vulnerabilities? Please email them to [email protected]
Thanks!