Skip to content

jerryfletcher21/lnurlmini

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

lnurlmini

Minimal and with as few dependencies as possible python scripts for lnurl client side.

All requests are made with tor.

Scripts are self contained, so they can be copied individually everywhere.

Pay

Decode an lnurl bech32/url/protocol/address, make the lnurl pay requests and get an invoice.

Supports:

  • 06 payRequest base spec
  • 12 comments in payRequest
  • 16 paying to static internet identifiers
  • 17 scheme prefixes and raw (non bech32-encoded) URLs
  • lightning address

Useful for who runs a lightning node without any external tools, and wants to pay lnurls, ln addresses.

requirements: requests[socks]

lnurl-pay-get-invoice [-v | -vv] [-d, --decode] data [amount] [comment]

data can be:
    invoice normal, invoice protocol, lnurl bech32,
    lnurl url, lnurl protocol, lnurl lightning address

if data is not invoice amount should be present
if service allows comments, comment can be present

if --decode, simply decode the url, without making the requests

Auth

Decode the lnurl bech32/url/protocol, make the lnurl auth requests to authenticate.

Supports:

  • 04 auth base spec
  • 13 signMessage-based seed generation for auth protocol
  • 17 scheme prefixes and raw (non bech32-encoded) URLs

Useful for authenticating in websites directly from the terminal without needing extra tools/wallets.

In order to support signMessage-based seed generation for auth protocol, after obtaining the signature from the lightning node as explained here, do

cat <signature-file> | lnurl-auth --hex lnurl

requirements: requests[socks] ecdsa

lnurl-auth [-v | -vv] [--linking-key] [--hex] [--no-hmac] data

data can be:
    lnurl bech32, lnurl url, lnurl protocol

in stdin it should be present the secret/linking-key

if --linking-key, directly use the string passed in stdin as linking-key
if --hex, treat the string in stdin as an hexadecimal
if --no-hmac, do not hmac with the url

License

lnurlmini is released under the terms of the ISC license. See LICENSE for more details.

About

Minimal python scripts for lnurl client side

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages