dunder-lsp
dunder-lsp copied to clipboard
Lightning Service Provider built in Node.JS
💥 Dunder LSP
Work In Progress, not suited for production just yet. Contributions, suggestions and ideas are appreciated. Database schema and configuration are bound to change.
Dunder is a Lightning Service Provider for the Bitcoin Lightning Network.
It currently supports "on demand channel openings", meaning if a Lightning wallet gets an inbound payment while not having any inbound capacity, Dunder will open a channel to the wallet with push amount equal to the inbound payment minus the on-chain fee.
More on how this works here.
Build
Dunder require lnd as the Lightning backend right now, though the plan is to make the service implementation independent.
The master
branch always expects the latest version of lnd. Lnd compiled with routerrpc is required.
- Run lnd, wallet must be unlocked for Dunder to operate correctly
-
git clone https://github.com/hsjoberg/dunder-lsp && cd dunder-lsp
- Copy
config/default.json_TEMPLATE
toconfig/default.json
and set up your configuration -
cd src/services/admin/react-admin
-
npm install --legacy-peer-deps
-
cd ../../../../
-
npm install
-
npm run proto
-
npm run build
-
npm start
Admin interface

The admin interface is reachable via /admin
.
To create an administrator, run scripts/create-admin-lnurl-auth.js
and scan the QR-code with an
LNURL-auth compatible wallet (for example Blixt Wallet):
node scripts/create-admin-lnurl-auth.js <listen host:ip> <domain/IP to reach from)> <HTTPS (true/false)>
This will create a temporary HTTP server serving an LNURL-auth endpoint at /lnurl-auth.
Test
To do tests run npm run test
or npm run test:coverage
.
Any new code should not decerease code coverage significantly.
License
MIT