dni ⚡ 27b9e8254c
feat: NWC Funding source #2579 (#2631)
* feat: nwc funding source

* implement paid_invoices_stream, fix for unsettled invoices where settled_at is present but None

* cancel pending_payments_lookup_task on cleanup

* Rename subscription_timeout_task to timeout_task

* ensure preimage is not None

* Improve readability, return failed status on expiration in get_payment_status, ensure result_type is checked after error (some implementations might not set a result_type on error)

* fetch account info when possible

* workaround possible race condition on some nwc service providers, improve performance of fallback by using payment_hash from bolt11 invoice

* fundle

* make format

* fix formatting

* fix C901 `_on_message` is too complex (21 > 16)

* format

* fix lint

* format

* fix tests/wallets/test_nwc_wallets.py:80:11: C901 `run` is too complex (17 > 16)

* fix padding

* fix documentation for _verify_event method

* refactoring and fixes

* Split NWCWallet - NWCConnection

* refactor class methods into helpers

* update bundle

* format

* catch NWCError failure codes

* format and fix

* chore: bundle

* add example

* typos

---------

Co-authored-by: Riccardo Balbo <riccardo0blb@gmail.com>
Co-authored-by: benarc <ben@arc.wales>
Co-authored-by: Pavol Rusnak <pavol@rusnak.io>
2024-08-07 09:56:53 +02:00
2023-01-23 14:23:30 +01:00
2024-07-10 14:22:44 +02:00
2024-07-16 07:59:04 +02:00
2022-01-30 08:27:05 -03:00
2024-07-31 11:41:19 +02:00
2024-08-06 10:06:21 +02:00

phase: beta license-badge docs-badge PRs: welcome Lightning network wallet

The world's most powerful suite of bitcoin tools.

Run for yourself, for others, or as part of a stack.

LNbits is beta, for responsible disclosure of any concerns please contact an admin in the community chat.

LNbits is a Python server that sits on top of any funding source. It 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 the LNbits extension framework
  • Part of a development stack via LNbits API
  • Fallback wallet for the LNURL scheme
  • Instant wallet for LN demonstrations

LNbits can run on top of almost all Lightning funding sources.

See LNbits manual for more detailed documentation about each funding source.

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 funding sources for LNbits.

Running LNbits

Test on our demo server demo.lnbits.com, or on lnbits.com software as a service, where you can spin up an LNbits instance for 21sats per hr.

See the install guide for details on installation and setup.

LNbits account system

LNbits is packaged with tools to help manage funds, such as a table of transactions, line chart of spending, export to csv. Each wallet also comes with its own API keys, to help partition the exposure of your funding source.

LNbits extension universe

Extend YOUR LNbits to meet YOUR needs.

All non-core features are installed as extensions, reducing your code base and making your LNbits unique to you. Extend your LNbits install in any direction, and even create and share your own extensions.

LNbits API

LNbits has a powerful API, many projects use LNbits to do the heavy lifting for their bitcoin/lightning services.

LNbits node manager

LNbits comes packaged with a light node management UI, to make running your node that much easier.

LNbits across all your devices

As well as working great in a browser, LNbits has native IoS and Android apps as well as a chrome extension. So you can enjoy the same UI across ALL your devices.

Tip us

If you like this project send some tip love!

Description
LNbits, free and open-source Lightning wallet and accounts system.
Readme MIT 89 MiB
Languages
Python 54.3%
JavaScript 28.1%
HTML 14.1%
Vue 2%
CSS 0.7%
Other 0.7%