Skip to content

hsjoberg/dunder-lsp

Repository files navigation

💥 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.

  1. Run lnd, wallet must be unlocked for Dunder to operate correctly
  2. git clone https://github.com/hsjoberg/dunder-lsp && cd dunder-lsp
  3. Copy config/default.json_TEMPLATE to config/default.json and set up your configuration
  4. cd src/services/admin/react-admin
  5. npm install --legacy-peer-deps
  6. cd ../../../../
  7. npm install
  8. npm run proto
  9. npm run build
  10. 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

About

Lightning Service Provider built in Node.JS

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •