Add keysend invoice#857
Add keysend invoice#857akumaigorodski wants to merge 1 commit intolightning:masterfrom akumaigorodski:master
Conversation
|
Shouldn't the BOLTs first support keysend itself? This is the first reference to "Keysend" in the BOLTs. |
|
@TheBlueMatt yes, probably. Although the basis |
|
@btcontract According to this comment by roasbeef keysend will be obsoleted by AMP. So since keysend isn't standardized, maybe the plan is to standardize AMP instead? I don't know. |
|
I'm not sure we'll want to standardize this version of keysend. |
|
I agree with @TheBlueMatt that In addition, like @t-bast, I was under the impression of the AMP proposal replacing keysend altogether, and it's proposal being close to being finished, so why add features to something we have absolutely no intention of maintaining longer term? The resulting fragmentation would be rather unpleasant. Finally, from a nomenclature point of view it is counterintuitive to have invoices for what is supposed to be invoiceless payments. I consider these to be more of an address book annotation than an invoice, and presenting/serializing it like an invoice is not the way to go (plus adding new prefixes to all supported network is just plain weird...). |
|
@cdecker not against any of these points except that I believe there is a place for something in between an ordinary invoice and a completely invoice-less payment, especially for private channel only nodes where |
|
Rather then do something like this that doesn't support payment splitting, I think a better option would be eventually implement the WIP AMP spec (which in our eyes replaces key send as mentioned above): https://github.com/cfromknecht/lightning-rfc/blob/bolt-amp/21-atomic-multi-path-payments.md. We're in the final draft/testing phases, but will open a PR on the spec very soon. It's basically keysend but supports payment splitting and also has a few other features like subscriptions, etc. This is implemented in |
This adds a new type of invoice tailored specifically for keysend payments, it complements keysend scheme outlined at https://github.com/alexbosworth/keysend_protocols#keysend-protocol-2-basic-messages.
The idea is:
lnksprefix prevents it from being wrongly categorized as usual invoice (and failed since it does not contain a payment hash field which is required for usual invoices).5482373481onion TLV field contents(32 Byte Predetermined Id for Grouping Messages)will be a payment secret tag provided by payee beforehand in keysend invoice. This will allow payee wallet to group different incoming payments belonging to the same keysend invoice.