Official registry for vetted LNbits extensions
To submit an extension to this registry add your manifest into the extensions.json
file in this repository.
The file MUST use the extensions
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 local manifest.json
use the repos
format:
{
"repos": [
{
"id": "gerty",
"organisation": "lnbits",
"repository": "gerty"
}
]
}
$ wget -O - https://github.com/lnbits/withdraw/archive/refs/tags/0.1.1.zip 2> /dev/null | sha256sum | cut -d" " -f 1
baff0b6162ffb65cc0b4c721a4aa40a7d3d48acd55a3e344cba3eb1d35cf2074
- 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.md
andLICENSE
files in the zip as these are required! - in order to exclude these files one must:
- create a
.gitattributes
file (on the top level of the repo) - add a line for the ignored files/dirs:
tests/ export-ignore
- create a
- after editing the
manifest.json
file in this repo you should runpython3 check.py
as a sanity check - you can run
python3 check.py foo bar
only to run sanity checks on extensions namedfoo
andbar
cloning all extensions into extensions
dir. requires jq
to be installed.
sh util.sh clone
pulling all extensions from extensions
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