-
Notifications
You must be signed in to change notification settings - Fork 912
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Display TLV data in listinvoices #4470
Comments
We have one issue with this, namely that despite the name, TLV fields are not typed as such. They are just blobs of binary data, that are interpreted as integers, hashes, signatures, etc by any program that has more knowledge about the So a generic implementation would just show type, length (redundant really in JSON results) and a hex-encoded binary value. Would that still be acceptable? |
It's a start. I could probably pipe that through JQ and then some tools to decipher the hex value. Maybe plugins can do that too. |
The hex encoded strings are what we are parsing when pulling out the tlv payload on incoming keysend transactions for the Podcast Index node. It’s not difficult (bin2hex —> json_decode) and provides tremendous listener stats to see what podcast/episode was being listened to, and exactly what time stamp within it that the payment was sent. The podcast industry currently works on “download stats” which are highly inaccurate. It’s basically guesswork. This would revolutionize that as a standard for listener metrics. |
#4610 is the first step towards this. It adds experimental support for |
…tream/blob/main/TLV_registry.md) to invoice It only works for LND right now, Core Lightning support might come, see ElementsProject/lightning#4470
Custom [TLV records](https://github.com/satoshisstream/satoshis.stream/blob/main/TLV_registry.md) only work for LND right now, Core Lightning support might come, see ElementsProject/lightning#4470
* Add custom TLV records to invoice Custom [TLV records](https://github.com/satoshisstream/satoshis.stream/blob/main/TLV_registry.md) only work for LND right now, Core Lightning support might come, see ElementsProject/lightning#4470 * Format files
I think that would be fine. It should be easy for consuming apps to interpret the TLV type and decode the hex values accordingly.
That's already really helpful -- thanks for that! :) I've written a small plugin for It's not much but should be an acceptable workaround until Core Lightning can natively do that.
That'd be great, imo! As I said, I feel like the binary format is fine enough. Having access to TLVs in |
I wonder if this can now be considered as solved by #5619. That PR adds the longest string extracted from TLVs into the invoice we use to track spontaneous payments. |
Nice, I'll give this a try after the final v22.11 release. |
Great news, looking forward to integrate this into our BTCPay Lightning lib. |
@cdecker As far as I see, the |
This jq query gets a long list of podcast sats:
This query doesn't seem to find all boosts though, e.g. adding I'm guessing the other boosts live under 7629173. |
@Sjors Are you able to access TLV records other than Also curious to know if the
|
Like, seriously... Should we just put every damn TLV in the invoice label? Standards FFS people. Or are there TLVs which are ACTUALLY used which we should just always include? Otherwise, we may need an explicit new field for this garbage, and give you all the TLVs in hex and let you sort it out :( Removing this from milestone. |
@rustyrussell It'd be nice to include the well known ones. I came across this testing the Podcasting 2.0 fields (7629173, 7629175, 133773310) + wallet integration (696969, 112111100) … |
That's probably the easiest. Having a parameter to specify one or more is fine by me too, though perhaps that more suitable for a transaction filter (plugin?).
Accepting or rejecting TLV types seems out of scope for here. |
Maybe combining it with Unfortunately the current state of only listing certain TLV records isn't intuitive and as described above one cannot support e.g. the Podcasting 2.0 features fully as there is no API access to most of the records. |
Sorry to bump this, but including either the well-known TLV records or the ones listed in If you don't see it that way that's also fine, but then let's manage expectations and close this issue. /cc @cdecker @rustyrussell |
As podcaster I like to stack sats, as the song goes... |
When receiving a keysend payment I can see it under
listinvoices
. But this doesn't show any custom TLV fields.I'm particularly interested in the fields used by Podcasting 2.0: https://github.com/satoshisstream/satoshis.stream/blob/main/TLV_registry.md#field-7629169
The text was updated successfully, but these errors were encountered: