7
votes
Accepted
Why do lightning invoices expire?
The bolt 11 which specifies invoices does not give a rational for this design choice therefor - unless one of the people who build it come along - I can only give an educated guess:
So first of all ...
6
votes
Accepted
Are there any risks of publicizing a Lightning network invoice?
Does it affect -most importantly- the safety of the funds?
It does not. Funds are not affected by publishing a LN invoice.
Does it negatively affect the privacy or something else?
If a lightning ...
6
votes
Accepted
Is signature/private-key required to accept payment over Lightning Network?
Yes invoices are signed according to bolt 11. One reason we do this is to fight dos attacks. If I would not have to sign my invoice I could create an Invoice for any node. That node would not have the ...
6
votes
Accepted
How do route hints affect pathfinding?
Generally speaking there are two use-cases that can be facilitated by route hints:
Tell the sender about channels that they might not know about. Specifically, if the recipient doesn't announce it's ...
5
votes
Accepted
What exactly are route hints?
Routehints are nothing complex. If you take a look at the code used to generate them routehints are pretty simple. The code simply grabs the first 20 (arbitrary limit) or so nodes with whom it has ...
5
votes
Accepted
What does `-k` stand for in `lightning-cli`?
This is actually the first thing I got confused with after I installed my a lightning node for the very first time back in 2018. c-lightning ships with two (actually more) programs
lightningd
...
4
votes
Accepted
Creating a lightning invoice without running a full node
The approach I've ended up taking for this project is to expose my Umbrel's LND gRPC REST API.
My home network doesn't accept incoming requests, and I don't want that for my entire Umbrel anyway, so I'...
4
votes
What are the minimum and maximum lengths of a Lightning invoice (address)?
Lightning invoices encode multiple pieces of information, some of which are optional, and some of which are variable-length. It is required that invoices use the shortest representation possible for ...
4
votes
Get invoice amount from payment request - LND REST API
I just found the answer : https://api.lightning.community/rest/index.html?javascript#v1-payreq
Use the endpoint v1/payreq to decode the payment request.
Exemple :
var fs = require('fs');
var ...
3
votes
Can I create an invoice for a Lightning address I don't own?
When you mention "Lightning address" here, from the rest of the question I assume you mean a Lightning node's ID or public key. If this is the case, then you absolutely cannot create a ...
3
votes
Invoicing with BTC
Bitcoin Blockchain
Many Bitcoin wallets allow you to generate an invoice in the form of a QR code, which is a 2D barcode. This can contain a receiving address, an amount and a message.
How the ...
3
votes
Is it possible to cancel a lightning invoice?
Yes. The payments on the Lightning Network are necessarily interactive, therefore the payee can just refuse the incoming payment.
Invoices are configured with an expiration date, such as the sender's ...
3
votes
Accepted
Using BTCPay To Accept Undefined Payment Amounts
I separately sought help on this issue from the BTCPay Server support channel, and with their help have devised a 'work-around' for this problem.
The initial response from their support is paraphrased ...
3
votes
Are there any risks of publicizing a Lightning network invoice?
Before answering your questions in detail let me state that as far as I know third parties cannot know if the invoice was paid after it was expired. Although I like Andrew Chow's answer I think I have ...
2
votes
Accepted
What's the maximum size of the memo in a LN payment request?
The memo field can hold 639 bytes of information.
But how many characters? Let's assume utf8 (since lncli encodes the text in utf8)
utf8's characters are variable length, meaning some are larger ...
2
votes
Accepted
Purpose of the LN transaction description
I believe it is to explain the "purpose of the payment" as described in BOLT11:
Short description of purpose of payment (UTF-8), e.g. '1 cup of
coffee' or 'ナンセンス 1杯'
This would be the payee ...
2
votes
Accepted
Pay invoice to offline lightning node
It seems you are mixing two concepts in your question.
1.) the necessity of having an invoice
2.) the necessity of being online
Re1: invoices are not necessary with the not standardized keysend ...
2
votes
What is "signature recovery"?
It is as you suspect: You can recover the public key knowing only the signature and the message. The recovery id byte in the signature is not strictly necessary as there's a brute force option, but it ...
2
votes
Creating a lightning invoice without running a full node
I will try to explain my comment in an answer. There is no clear way to host a lite ln client only to revive payment and show it, without hosting an ln node on the server, with the bitcoin core ...
2
votes
How to send lightning payment request to lnurl from Android app with extra comment data?
The fine folks at Alby helped solve this ->
First, add query intent to manifest:
<queries>
<intent>
<action android:name="android.intent.action.VIEW" />
...
2
votes
Accepted
Is there an absolute limit the payment request expiry?
I think it is not explicitly specified. But c-lightning uses for example an unsigned int 64. Overall the expiry is obviously created to allow nodes to not store payment preimages for requested ...
2
votes
How to generate an invoice with flexible amounts for Lightning Network
Lightning Invoices (BOLT11) allows for invoices to have a zero amount. If you generate a zero amount invoice, the sender can use it to pay any amount.
When you use zero amount invoices, you have no ...
2
votes
Is there anyway to find a lighting payment request preimage after it is paid if you aren’t the sending or receiving node?
From what I understand, the preimage is publicly revealed when the lightning payment request is paid as a part of the transaction.
The preimage is revealed across the route from the destination back ...
2
votes
Accepted
bech32 serialized lightning invoice from lnd rest endpoint /v1/invoices
Yes, the payment_request is a BOLT11 invoice, which uses Bech32 encoding.
1
vote
Accepted
Create lightning invoice as payer
There is the keysend blib that allows to pay an arbitrary node without the necessity to create in invoice first https://github.com/lightning/blips/blob/master/blip-0003.md i think all major ...
1
vote
Accepted
What is the maximum byte size or limit of characters in label in lightning-cli invoice? Are UTF-8 characters accepted?
If you look at the source code you can find the data base schema of the SQLite3 database that is being used to store invoices at: https://github.com/ElementsProject/lightning/blob/...
1
vote
Accepted
How can i get the payee public key from the payment request
Here is the solution I ended up using:
// var invoice *lnrpc.Invoice
inva, err := zpay32.Decode(invoice.PaymentRequest, &chaincfg.MainNetParams)
if err != nil {
return err
}
fmt.Sprintf(&...
1
vote
Lightning protocol modification for app
I don't see why it needs to be at protocol level. Your node can simply not solve the second HTLC that arrives, you can keep track of items and possible conflicts when solving it. If you fail the HTLC, ...
1
vote
Accepted
Lnurl: Why are there min and max fields instead of an amount field?
LNURL-PAY enables other use cases like static QR codes that can be printed and re-used many times, provides a standard for receiving sats over Lightning without having the user paste an invoice.
A ...
1
vote
Accepted
Is it possible to generate a pool of lightning transaction invoices in advance?
No; unlike a Bitcoin address, Lightning invoices have a built-in timestamp and an expiration time. They also have information, such as the amount of Bitcoin (and sometimes routing information), that ...
Only top scored, non community-wiki answers of a minimum length are eligible
Related Tags
invoices × 48lightning-network × 42
payment × 7
lightning-network-daemon × 6
hash-time-locked-contract × 4
core-lightning × 4
lightning-routing × 3
bolt11 × 3
route-hints × 3
atomic-multi-path-payments × 2
ln-keysend-payments × 2
bolt12-offers × 2
bitcoin-core × 1
private-key × 1
api × 1
hash × 1
public-key × 1
protocol × 1
privacy × 1
signature × 1
cryptography × 1
bitcoin-wallet-app × 1
taproot × 1
android × 1
receiving × 1