Skip to content

p-stam001/Lightning.Pub

 
 

Repository files navigation

Lightning.Pub

GitHub last commit PRs Welcome Chat X (formerly Twitter) Follow

Don't just run a Lightning Node, run a Lightning Pub.

"Pub" is a nostr native account system that makes connecting your node to apps and websites super easy.

Using Nostr relays as transport for encrypted RPCs, Pub eliminates the complexity of WebServer and SSL configurations.

By solving the networking and programability hurdles, Pub enables node-runners and Uncle Jim's to bring their Friends, Family and Customers into Bitcoin's permissionless circular economy. All while keeping the Lightning Network decentralized, and custodial scaling free of fiat shitcoin rails and large banks.

Features:

  • Wrapper for LND that can serve accounts over LNURL and NOSTR
  • A growing number of methods
  • Accounting SubLayers for Application Pools and Users
    • A fee regime allows applications owners to monetize users, or node operators to host distinctly monetized applications.

Accounts

Planned

  • Management Dashboard is being integrated into ShockWallet
  • Nostr native "offers"
  • Channel Automation
  • Bootstarp Peering (Passive "LSP")
  • Subscriptions / Notifications
  • Submarine Swaps
  • High-Availabilty / Clustering

Dashboard:

Pub Dashboard

ShockWallet and Lightning.Pub are free software. If you would like to see continued development, please show your support :)

WARNING: While this software has been used in production for many months, it is still bleeding edge and security or reliabilty is not guaranteed.

Manual Installation

Notes:

  • The service defaults to port 8080
  • Use of a reverse proxy is only required if you wish to serve LNURLs
  • Requires Node.js >=18.x

Steps:

  1. Run LND - Example mainnet startup:
./lnd --bitcoin.active --bitcoin.mainnet --bitcoin.node=neutrino --neutrino.connect=neutrino.shock.network --routing.assumechanvalid --accept-keysend --allow-circular-route --feeurl=https://nodes.lightning.computer/fees/v1/btc-fee-estimates.json
  1. Download and Install Lightning.Pub
git clone https://github.com/shocknet/Lightning.Pub
cd Lightning.Pub && npm i
  1. cp env.example .env

  2. Add values to env file

  3. npm start

  4. Create an Application Pool

A default "wallet" pool will be automatically created and keys generated automatically, if you wish to create something other:

curl -XPOST -H 'Authorization: Bearer defined_in_constants.ts' -H "Content-type: application/json" -d '{"name":"ExampleApplicationPoolName"}' 'http://localhost:8080/api/admin/app/add'
  1. Connect with wallet2 using the npub response in step 6 or the the wallet application nprofile logged at startup.

About

Enable WebApps from your Lightning node.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Languages

  • TypeScript 99.9%
  • JavaScript 0.1%