A library for encoding and decoding BOLT11 payment requests.
Project description
Lightning BOLT11 utils
This is an implementation of the Lightning BOLT11 specification, based on previous work by Rusty Russell, the Electrum Wallet team, and the LNbits bolt11 helpers created by @fiatjaf.
resources
installing
$ git clone https://github.com/lnbits/bolt11
$ cd bolt11
$ uv sync
running CLI
$ uv run bolt11 --help
$ uv run bolt11 decode
run all checks and tests
$ make
using pre-commit as git hook
$ uv run pre-commit install
running CLI
$ uv run bolt11 --help
running CLI decode
$ uv run bolt11 decode lnbc20m1pvjluez.....
{
"currency": "bc",
"amount": 2000000000,
"timestamp": 1496314658,
"signature": "6a6586db4e8f6d40e3a5bb92e4df5110c627e9ce493af237e20a046b4e86ea200178c59564ecf892f33a9558bf041b6ad2cb8292d7a6c351fbb7f2ae2d16b54e",
"description_hash": "3925b6f67e2c340036ed12093dd44e0368df1b6ea26c53dbe4811f58fd5db8c1",
"features": {
"var_onion_optin": "required",
"payment_secret": "required"
},
"fallback": "1RustyRX2oai4EYYDpQGWvEL62BBGqN9T",
"route_hints": [
{
"public_key": "029e03a901b85534ff1e92c43c74431f7ce72046060fcf7a95c37e148f78c77255",
"short_channel_id": "66051x263430x1800",
"base_fee": 1,
"ppm_fee": 20,
"cltv_expiry_delta": 3
},
{
"public_key": "039e03a901b85534ff1e92c43c74431f7ce72046060fcf7a95c37e148f78c77255",
"short_channel_id": "197637x395016x2314",
"base_fee": 2,
"ppm_fee": 30,
"cltv_expiry_delta": 4
}
],
"min_final_cltv_expiry": 9,
"payment_hash": "0001020304050607080900010203040506070809000102030405060708090102",
"payment_secret": "1111111111111111111111111111111111111111111111111111111111111111",
"payee": "03e7156ae33b0a208d0744199163177e909e80176e55d97a2f221ede0f934dd9ad"
}
running CLI encode
$ uv run bolt11 encode '{
"currency": "bc",
"amount_msat": 1000,
"date": 1590000000,
"payment_hash": "0001020304050607080900010203040506070809000102030405060708090102",
"payment_secret": "1111111111111111111111111111111111111111111111111111111111111111",
"description": "description"
}' e126f68f7eafcc8b74f54d269fe206be715000f94dac067d1c04a8ca3b2db734
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
bolt11-2.2.0.tar.gz
(57.9 kB
view details)
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
bolt11-2.2.0-py3-none-any.whl
(17.1 kB
view details)
File details
Details for the file bolt11-2.2.0.tar.gz.
File metadata
- Download URL: bolt11-2.2.0.tar.gz
- Upload date:
- Size: 57.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.9.27 {"installer":{"name":"uv","version":"0.9.27","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
12cd9d0d3eb0f08c505b1834f21630369974c1de3b9c39b9abd48ddd0d1a444b
|
|
| MD5 |
99d2a2ec931ed89d746d087fb2157707
|
|
| BLAKE2b-256 |
cb8ae936a9bf1888742a55f52b143a81050ebce03c3ce21a243862c5c386220c
|
File details
Details for the file bolt11-2.2.0-py3-none-any.whl.
File metadata
- Download URL: bolt11-2.2.0-py3-none-any.whl
- Upload date:
- Size: 17.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.9.27 {"installer":{"name":"uv","version":"0.9.27","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
4684ac33cf274a2ee00f45b5a691d6743ede04ef455b4c12046648b4f20e2a81
|
|
| MD5 |
92cebacdfa5a866dcd4c06ea47ac7d29
|
|
| BLAKE2b-256 |
a87c9671c85e7a0883fa732c83dccd5ed64338ab14a02adc384ecb47477f8348
|