mirror of
https://github.com/lnbits/lnbits.git
synced 2025-07-15 07:22:43 +02:00
feat: use github pages and jekyll for docs
This commit is contained in:
5
docs/.gitignore
vendored
Normal file
5
docs/.gitignore
vendored
Normal file
@ -0,0 +1,5 @@
|
|||||||
|
_site
|
||||||
|
.sass-cache
|
||||||
|
.jekyll-cache
|
||||||
|
.jekyll-metadata
|
||||||
|
vendor
|
10
docs/_config.yml
Normal file
10
docs/_config.yml
Normal file
@ -0,0 +1,10 @@
|
|||||||
|
title: "LNbits docs"
|
||||||
|
|
||||||
|
remote_theme: pmarsceill/just-the-docs
|
||||||
|
logo: "/logos/lnbits-full.png"
|
||||||
|
search_enabled: true
|
||||||
|
aux_links:
|
||||||
|
"LNbits on GitHub":
|
||||||
|
- "//github.com/lnbits/lnbits"
|
||||||
|
"lnbits.com":
|
||||||
|
- "//lnbits.com"
|
12
docs/devs/api.md
Normal file
12
docs/devs/api.md
Normal file
@ -0,0 +1,12 @@
|
|||||||
|
---
|
||||||
|
layout: default
|
||||||
|
parent: For developers
|
||||||
|
title: API reference
|
||||||
|
nav_order: 3
|
||||||
|
---
|
||||||
|
|
||||||
|
|
||||||
|
API reference
|
||||||
|
=============
|
||||||
|
|
||||||
|
Coming soon...
|
12
docs/devs/development.md
Normal file
12
docs/devs/development.md
Normal file
@ -0,0 +1,12 @@
|
|||||||
|
---
|
||||||
|
layout: default
|
||||||
|
title: For developers
|
||||||
|
nav_order: 3
|
||||||
|
has_children: true
|
||||||
|
---
|
||||||
|
|
||||||
|
|
||||||
|
For developers
|
||||||
|
==============
|
||||||
|
|
||||||
|
Thanks for contributing :)
|
12
docs/devs/extensions.md
Normal file
12
docs/devs/extensions.md
Normal file
@ -0,0 +1,12 @@
|
|||||||
|
---
|
||||||
|
layout: default
|
||||||
|
parent: For developers
|
||||||
|
title: Making extensions
|
||||||
|
nav_order: 2
|
||||||
|
---
|
||||||
|
|
||||||
|
|
||||||
|
Making extensions
|
||||||
|
=================
|
||||||
|
|
||||||
|
Coming soon...
|
@ -1,17 +1,27 @@
|
|||||||
For developers
|
---
|
||||||
==============
|
layout: default
|
||||||
|
parent: For developers
|
||||||
|
title: Installation
|
||||||
|
nav_order: 1
|
||||||
|
---
|
||||||
|
|
||||||
|
|
||||||
|
Installation
|
||||||
|
============
|
||||||
|
|
||||||
|
LNbits uses [Flask](http://flask.pocoo.org/).
|
||||||
|
|
||||||
LNbits uses [Flask](http://flask.pocoo.org/).
|
|
||||||
Feel free to contribute to the project.
|
|
||||||
|
|
||||||
Application dependencies
|
Application dependencies
|
||||||
------------------------
|
------------------------
|
||||||
|
|
||||||
The application uses [Pipenv][pipenv] to manage Python packages.
|
The application uses [Pipenv][pipenv] to manage Python packages.
|
||||||
While in development, you will need to install all dependencies:
|
While in development, you will need to install all dependencies (includes packages like `black` and `flake8`):
|
||||||
|
|
||||||
$ pipenv shell
|
$ pipenv shell
|
||||||
$ pipenv install --dev
|
$ pipenv install --dev
|
||||||
|
|
||||||
|
|
||||||
Running the server
|
Running the server
|
||||||
------------------
|
------------------
|
||||||
|
|
||||||
@ -20,10 +30,5 @@ Running the server
|
|||||||
There is an environment variable called `FLASK_ENV` that has to be set to `development`
|
There is an environment variable called `FLASK_ENV` that has to be set to `development`
|
||||||
if you want to run Flask in debug mode with autoreload
|
if you want to run Flask in debug mode with autoreload
|
||||||
|
|
||||||
Style guide
|
|
||||||
-----------
|
|
||||||
Tab size is 4 spaces. Maximum line length is 120. You should run `black` before commiting any change.
|
|
||||||
|
|
||||||
$ black lnbits
|
|
||||||
|
|
||||||
[pipenv]: https://docs.pipenv.org/#install-pipenv-today
|
[pipenv]: https://docs.pipenv.org/#install-pipenv-today
|
79
docs/guide/wallets.md
Normal file
79
docs/guide/wallets.md
Normal file
@ -0,0 +1,79 @@
|
|||||||
|
---
|
||||||
|
layout: default
|
||||||
|
title: Backend wallets
|
||||||
|
nav_order: 2
|
||||||
|
---
|
||||||
|
|
||||||
|
|
||||||
|
Backend wallets
|
||||||
|
===============
|
||||||
|
|
||||||
|
LNbits can run on top of many lightning-network funding sources. Currently there is support for
|
||||||
|
CLightning, LND, LNbits, LNPay, lntxbot and OpenNode, with more being added regularily.
|
||||||
|
|
||||||
|
A backend wallet can be configured using the following LNbits environment variables:
|
||||||
|
|
||||||
|
|
||||||
|
### CLightning
|
||||||
|
|
||||||
|
Using this wallet requires the installation of the `pylightning` Python package.
|
||||||
|
|
||||||
|
- `LNBITS_BACKEND_WALLET_CLASS`: **CLightningWallet**
|
||||||
|
- `CLIGHTNING_RPC`: /file/path/lightning-rpc
|
||||||
|
|
||||||
|
|
||||||
|
### LND (gRPC)
|
||||||
|
|
||||||
|
Using this wallet requires the installation of the `lnd-grpc` Python package.
|
||||||
|
|
||||||
|
- `LNBITS_BACKEND_WALLET_CLASS`: **LndWallet**
|
||||||
|
- `LND_GRPC_ENDPOINT`: ip_address
|
||||||
|
- `LND_GRPC_PORT`: port
|
||||||
|
- `LND_CERT`: /file/path/tls.cert
|
||||||
|
- `LND_ADMIN_MACAROON`: /file/path/admin.macaroon
|
||||||
|
- `LND_INVOICE_MACAROON`: /file/path/invoice.macaroon
|
||||||
|
- `LND_READ_MACAROON`: /file/path/read.macaroon
|
||||||
|
|
||||||
|
|
||||||
|
### LND (REST)
|
||||||
|
|
||||||
|
- `LNBITS_BACKEND_WALLET_CLASS`: **LndRestWallet**
|
||||||
|
- `LND_REST_ENDPOINT`: ip_address
|
||||||
|
- `LND_CERT`: /file/path/tls.cert
|
||||||
|
- `LND_ADMIN_MACAROON`: /file/path/admin.macaroon
|
||||||
|
- `LND_INVOICE_MACAROON`: /file/path/invoice.macaroon
|
||||||
|
- `LND_READ_MACAROON`: /file/path/read.macaroon
|
||||||
|
|
||||||
|
|
||||||
|
### LNbits
|
||||||
|
|
||||||
|
- `LNBITS_BACKEND_WALLET_CLASS`: **LNbitsWallet**
|
||||||
|
- `LNBITS_ENDPOINT`: ex. https://lnbits.com
|
||||||
|
- `LNBITS_ADMIN_KEY`: apiKey
|
||||||
|
- `LNBITS_INVOICE_KEY`: apiKey
|
||||||
|
|
||||||
|
|
||||||
|
### LNPay
|
||||||
|
|
||||||
|
- `LNBITS_BACKEND_WALLET_CLASS`: **LNPayWallet**
|
||||||
|
- `LNPAY_API_ENDPOINT`: ex. https://lnpay.co/v1/
|
||||||
|
- `LNPAY_API_KEY`: apiKey
|
||||||
|
- `LNPAY_ADMIN_KEY`: apiKey
|
||||||
|
- `LNPAY_INVOICE_KEY`: apiKey
|
||||||
|
- `LNPAY_READ_KEY`: apiKey
|
||||||
|
|
||||||
|
|
||||||
|
### lntxbot
|
||||||
|
|
||||||
|
- `LNBITS_BACKEND_WALLET_CLASS`: **LntxbotWallet**
|
||||||
|
- `LNTXBOT_API_ENDPOINT`: ex. https://lntxbot.bigsun.xyz/
|
||||||
|
- `LNTXBOT_ADMIN_KEY`: apiKey
|
||||||
|
- `LNTXBOT_INVOICE_KEY`: apiKey
|
||||||
|
|
||||||
|
|
||||||
|
### OpenNode
|
||||||
|
|
||||||
|
- `LNBITS_BACKEND_WALLET_CLASS`: **OpenNodeWallet**
|
||||||
|
- `OPENNODE_API_ENDPOINT`: ex. https://api.opennode.com/
|
||||||
|
- `OPENNODE_ADMIN_KEY`: apiKey
|
||||||
|
- `OPENNODE_INVOICE_KEY`: apiKey
|
24
docs/index.md
Normal file
24
docs/index.md
Normal file
@ -0,0 +1,24 @@
|
|||||||
|
---
|
||||||
|
layout: default
|
||||||
|
title: User’s Guide
|
||||||
|
nav_order: 1
|
||||||
|
---
|
||||||
|
|
||||||
|
|
||||||
|
LNbits, free and open-source lightning-network wallet/accounts system
|
||||||
|
=====================================================================
|
||||||
|
|
||||||
|
LNbits is a very simple Python application 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
|
||||||
|
|
||||||
|
|
||||||
|
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...
|
@ -4,12 +4,13 @@ from requests import get, post
|
|||||||
from .base import InvoiceResponse, PaymentResponse, PaymentStatus, Wallet
|
from .base import InvoiceResponse, PaymentResponse, PaymentStatus, Wallet
|
||||||
|
|
||||||
|
|
||||||
class LnbitsWallet(Wallet):
|
class LNbitsWallet(Wallet):
|
||||||
|
"""https://github.com/lnbits/lnbits"""
|
||||||
|
|
||||||
def __init__(self):
|
def __init__(self):
|
||||||
self.endpoint = getenv("LNBITS_ENDPOINT")
|
self.endpoint = getenv("LNBITS_ENDPOINT")
|
||||||
self.auth_admin = getenv("LNBITS_ADMIN_MACAROON")
|
self.auth_admin = {"X-Api-Key": getenv("LNBITS_ADMIN_KEY")}
|
||||||
self.auth_invoice = getenv("LNBITS_INVOICE_MACAROON")
|
self.auth_invoice = {"X-Api-Key": getenv("LNBITS_INVOICE_KEY")}
|
||||||
|
|
||||||
def create_invoice(self, amount: int, memo: str = "") -> InvoiceResponse:
|
def create_invoice(self, amount: int, memo: str = "") -> InvoiceResponse:
|
||||||
r = post(
|
r = post(
|
||||||
|
Reference in New Issue
Block a user