Goal of this project is to build a simple accounting system with a LndHub compatible API that focusses on simplicity, maintainability and ease of deployment.
LndHub is a simple accounting system for LND. It allows users to send and receive lightning payments. Through the API people can access funds through a shared lightning node. (see overview.png diagram)
Some design goals:
- No runtime dependencies (all compiled into a single, simple deployable executable)
- Focus on offchain payments (no onchain transactions supported)
- Plan for multiple node backends (LND gRPC interface is the first implementation) (also through Tor)
- Admin panel for better Ops
- All configuration stored in the DB
- Using constraints and functions in the DB to prevent inconsistent data
See LndHub API for enpoints and request/response signatures.
Create a new user account
Get new "session" access/refresh tokens. access token is required for all other API endpoints
Generate a new lightning invoice
Pay a lightning invoice
Check the status of an incoming transaction
Get the user's balanc
Get all transactions
Get all user's invoices (incoming invoices)
Node information
- Double entry accounting?
- see
db/migrations/*
- LndHub - Current nodejs implementation