- Notifications
You must be signed in to change notification settings - Fork24
Registry for vetted LNbits extensions
License
lnbits/lnbits-extensions
Folders and files
| Name | Name | Last commit message | Last commit date | |
|---|---|---|---|---|
Repository files navigation
Official registry for vetted LNbits extensions
To submit an extension to this registry add your manifest into theextensions.json file in this repository.
Only submit fully working extensions, the review process is not intended to improve the extension code.
Do not add dependencies, LNbits has plenty of dependencies you can use.
The easier an extension is to review, the quicker the review process will be.
The file MUST use theextensions format:
{"id":"gerty","repo":"https://github.com/lnbits/gerty","name":"Gerty","version":"0.1.2","short_description":"Your bitcoin assistant","icon":"https://raw.githubusercontent.com/lnbits/gerty/main/static/gerty.png","archive":"https://github.com/lnbits/gerty/archive/refs/tags/0.1.2.zip","hash":"baff0b6162ffb65cc0b4c721a4aa40a7d3d48acd55a3e344cba3eb1d35cf2074"},For an exensions localmanifest.json use therepos format:
{"repos": [ {"id":"gerty","organisation":"lnbits","repository":"gerty" } ]}It is possible for developers to require a payment for their extensions. In order to do so an extension release must have this field:
"pay_link":"# payment URL"
Example:
{"id":"testext","repo":"https://github.com/lnbits/testext","name":"Test Extension","version":"0.5","short_description":"Private Test Extension","icon":"https://raw.githubusercontent.com/lnbits/example/main/static/bitcoin-extension.png","archive":"https://demo.lnbits.com/paywall/download/m2FVCFktJzMcGKXTaHbyhi","pay_link":"https://demo.lnbits.com/paywall/api/v1/paywalls/invoice/m2FVCFktJzMcGKXTaHbyhi","hash":"455527407fcfdc5e8aba93f16802d1083d36dcdfdde829f919cee07420791d61"}ThePaywall LNbits Extension can be used to serve the extensionzip file.
If you do not want to use thePaywall LNbits Extension to server your extension, but instead you want to use your own paywall, then thepay_link endpoint must follow these specifications:
| HTTP Request | HTTP Response | Description |
|---|---|---|
GETpay_link | {"amount":5} | Get the amount in `sats` required by this extension release. |
GETpay_link?amount=5 | {"payment_hash":"04c33f37d01aff...fd7c407a","payment_request":"lnbc50n1pju...n7h8gucqn2cgau"} | Request an invoice for the specified amount (or higher). |
WS pay_link/{payment_hash} | {"paid":true|false} | Open a websocket to be notified when the invoice has been paid. |
In order to download the file one must add thepayment_hash and anversion (optional) query parameters to thearchive URL. Eg:
GET https://demo.lnbits.com/paywall/download/m2FVCFktJzMcGKXTaHbyhi?payment_hash=3bf...7ec&version=v0.1
$wget -O - https://github.com/lnbits/withdraw/archive/refs/tags/0.1.1.zip2> /dev/null| sha256sum| cut -d"" -f 1baff0b6162ffb65cc0b4c721a4aa40a7d3d48acd55a3e344cba3eb1d35cf2074
- documentation, tests and other type of files should not be included in the zip archive generated when a GitHub release is created
- keep the
README.mdandLICENSEfiles in the zip as these are required! - in order to exclude these files one must:
- create a
.gitattributesfile (on the top level of the repo) - add a line for the ignored files/dirs:
tests/ export-ignore
- create a
- after editing the
manifest.jsonfile in this repo you should runpython3 check.pyas a sanity check - you can run
python3 check.py foo baronly to run sanity checks on extensions namedfooandbar
cloning all extensions intoextensions dir. requiresjq to be installed.
sh util.sh clone
pulling all extensions fromextensions dir
sh util.sh pull
get LNbits env variables for all extensions
sh util.sh env
update a extension in extensions.json with id and version
sh util.sh update_extension example v0.4.2
this uses a github workflow like this:https://github.com/lnbits/example/blob/main/.github/workflows/release.yml
lnbits-release.mp4
make install-jmeter
make sure LNbits is running and start the mirror server
make start-mirror-server
maketestAbout
Registry for vetted LNbits extensions
Resources
License
Uh oh!
There was an error while loading.Please reload this page.
Stars
Watchers
Forks
Uh oh!
There was an error while loading.Please reload this page.
Contributors10
Uh oh!
There was an error while loading.Please reload this page.