0dc60d4795
before we were using requests which had no default timeouts, but httpx has a default timeout of 5 seconds. should have noticed that earlier. when the timeout expires we are left with a pending payment on the db with a temporary checking_id so we can never know if it was completed or not. this is still an issue, because technically a lightning payment may take 2 weeks or more, and we must have a way to dispatch a payment and check for it later. that should be the default (and we already do check for the payment status later, so half of the work is done), but on the other hand backends like lnpay and opennode do not give us a checking_id before the thing is already settled. |
||
---|---|---|
.github | ||
docs | ||
lnbits | ||
tests | ||
.editorconfig | ||
.env.example | ||
.gitignore | ||
.prettierrc | ||
app.json | ||
Dockerfile | ||
LICENSE | ||
Makefile | ||
package-lock.json | ||
package.json | ||
Pipfile | ||
Pipfile.lock | ||
Procfile | ||
pyproject.toml | ||
pytest.ini | ||
README.md | ||
requirements.txt |
LNbits
LNbits v0.1 BETA, free and open-source lightning-network wallet/accounts system
Use lnbits.com, or run your own LNbits server!
LNbits is a very simple Python server that sits on top of any funding source, and can be used as:
- Accounts system to mitigate the risk of exposing applications to your full balance, via unique API keys for each wallet
- Extendable platform for exploring lightning-network functionality via LNbits extension framework
- Part of a development stack via LNbits API
- Fallback wallet for the LNURL scheme
- Instant wallet for LN demonstrations
The wallet can run on top of any lightning-network funding source, currently there is support for LND, CLightning, Lntxbot, LNpay, OpenNode, with more being added regularily.
See lnbits.org for more detailed documentation.
Checkout the LNbits YouTube video series.
LNbits is inspired by all the great work of opennode.com, and in particular lnpay.co. Both work as excellent funding sources for LNbits.
Running LNbits locally
See the development docs for details on installation and setup.
LNbits as an account system
LNbits is packaged with tools to help manage funds, such as a table of transactions, line chart of spending, export to csv + more to come..
Each wallet also comes with its own API keys, to help partition the exposure of your funding source.
(LNbits M5StackSats available here https://github.com/arcbtc/M5StackSats)
LNbits as an LNURL-withdraw fallback
LNURL has a fallback scheme, so if scanned by a regular QR code reader it can default to a URL. LNbits exploits this to generate an instant wallet using the LNURL-withdraw.
Using lnbits.com/?lightning="LNURL-withdraw" will trigger a withdraw that builds an LNbits wallet. Example use would be an ATM, which utilises LNURL, if the user scans the QR with a regular QR code scanner app, they will stilll be able to access the funds.
LNbits as an insta-wallet
Wallets can be easily generated and given out to people at events (one click multi-wallet generation to be added soon). "Go to this website", has a lot less friction than "Download this app".
Tip me
If you like this project and might even use or extend it, why not send some tip love!