Proposal: <podcast:metaBoost> tag and API standard #676
Replies: 7 comments 31 replies
-
This sounds sensible. This would fit easily with what I built years ago to receive payments for all Hive users. The only problem is the massive bloat in work for the sending app which will have to call different api end points for each recipient in a block. |
Beta Was this translation helpful? Give feedback.
-
I like the purpose of this, but I think this is exactly the kind of thing that should go into the podcast's webhook/events/activitystream through a universal tag and endpoint instead of a value-specific tag and endpoint. |
Beta Was this translation helpful? Give feedback.
-
It's not a bad solution, the only thing I see is this may not fit with what others are doing. For PodToo we are currently coding a boostagram live app (it will be open source and free to use and you don't need a podtoo account) that uses the Also that boostCallback allows the user to send amount & comment to the invoice generator and once paid the comment is stored in the local DB for the creator of the podcast, they can select if they want it to be public or not. How we stop the comment being attached to the invoice? In our code we follow the L402 method (https://l402.org), we store the macaroon and purchase invoice data in our db, and then when the payment is made the podcast app can either send us the confirmation (preimage + macaroon + additional data like voicemail or video message) the only thing linking in the lightning wallet is an internal db ID so this allows us to then do lookup with the database later on. How does it stop other splits from receiving the boost comment? What if a app doesn't send the preimage? How do you get around character limits What if I want my comment to be public? What if I am a creator and I want my comments to appear on Nostr Events or AP? Can my Boostagram + Boosts be public for other apps to lookup?
This will return the comments/boosts made by everyone for that podcast episode. What do people think about this? |
Beta Was this translation helpful? Give feedback.
-
@agates when you say "specifies an API" do you mean every different podcast can support a different API as a different set of functions with different parameters and results, or you mean every podcast specifies a different "API endpoint" and every endpoint implements the same exact API with the same functions, parameters and result values, just at a different URL? |
Beta Was this translation helpful? Give feedback.
-
This is exactly what I want. The podcaster alone gets to decide what happens to the message tied to the podcast. If you're in the value block, it doesn't mean you're privy to the message, just the split. If the podcaster wants to let you see the message, there can be some other way for that to happen, just as a callback in the options.json file for each split, but that's handled on the podcaster's metaBoost server. This tag is simple and elegant, and still gives control of the message to the podcaster alone and it remains true to one of the central tenants of RSS, which is THE FEED IS THE SOURCE OF TRUTH. It's also great for the app because they're already going to have to make far too many calls to simply send a payment, then add a message call for every single recipient. Nope, one call to one api with all of the metadata for the boost, and the podcaster can decide what they do with that data. Want to post it to activity stream? Do it from your server. Want to send it to nostr? Do it from your server. Want to share it with a third party? Do it from your server. The app only has one concern, get the metadata to the server the podcaster tells it to. |
Beta Was this translation helpful? Give feedback.
-
I think we should try to separate the proposed Maybe we should go with something like this: This way the tag can be used with different protocols/implementations (looks like we have at least 3 proposals: by @agates , by @redimongo and by Oscar Merry from Fountain who proposes to use nostr for boostagram metadata). |
Beta Was this translation helpful? Give feedback.
-
In terms of the contents of boosts, I've written #680 which is a new suggestion for how the I hope it is relevant here, since it could allow comments - including "boosts" - to be handled by the payment receiver. It is entirely platform agnostic - both in terms of comment platform and payment method. The podcaster is then free to verify messages it receives along with payments, in whatever form the payment platform makes available. It could even - for example - only accept comments if a user is a monthly supporter with their MasterCard. All the app would do is to (if the podcaster chooses) display "boosts" alongside other types of comments, by simply parsing a simple JSON file. |
Beta Was this translation helpful? Give feedback.
-
This proposal is to add a new
<podcast:metaBoost>
(Boost Metadata) tag which specifies an API where the podcaster would like the application to send payment metadata to, allowing separation of the payment and what's currently sent via the keysend TLV record.This API would be payment agnostic and support methods of verification that the payments are legitimate.
I propose verification be done via something like the JSON Payment Token (JPT), albeit updated to be based off an JWKS signing method where an issuer can sign a the payload with a well-known public key. This way, providers such as fountain and alby can provide verifiable messages with minimal performance impact. A provider such as strike may need verification via their API if they are unwilling to participate.
Similarly, I will be working on a version of JPT to support Monero.
A proposed (to be debated) OpenAPI spec can be found here. (paste into https://editor.swagger.io/ if needed)
Lastly, we can always delegate payment verification to some time in the future via the "trust me, bro" method.
Parent
<podcast:value>
Count
Single
Node Value
The HTTP endpoint where the MetaBoost API is defined.
Example
Beta Was this translation helpful? Give feedback.
All reactions