Can you provide a link to the API?
If each of those users has a few dollars then you can ask in marketplace. If one or more of those communities are Enterprise customers then that would be another way to get the ball rolling.
Can you provide a link to the API?
If each of those users has a few dollars then you can ask in marketplace. If one or more of those communities are Enterprise customers then that would be another way to get the ball rolling.
There is no API, zaps are native to Nostr and were implemented using the Lightning Network. It can be said that the “API” would be the LN itself.
Here, how zaps work on Nostr:
The user links his LN wallet address to his Nostr account and from there all zaps (tips) are sent and received directly by LN, it is the Lightning node server that handles this, not Nostr.
To implement something similar for sending Ethereum tokens, a solution would have to be created from scratch, hence my suggestion to use Polygon’s infrastructure. But, as I said at the beginning, I’m not a developer so I can’t detail all of this technically, unfortunately.
I will suggest this in the community I participate. It is maintained by a large company and might be interested in that.
I would guess the first question is: What EXACTLY do you want?
You have to precisely define what the system you want would do and how it would do it. If not directly in technical terms, by describing the idea with your own words.
Right now, nothing forbids any user to write down a receiving address in his profile. Except maybe the rules of some forums. That’s pretty much all is needed. This is crypto! People can publish receiving addresses freely and senders can send to it without much privacy concerns or other nonsense involved.
Sure, if you use an on-chain address, transactions are public and using the same address for everything is far from ideal. But you can use the LN with BTC, or an exciting new development which I hope will gain traction: PayNyms. Or you could use a privacy coin like Monero.
By doing pretty much nothing and by just promoting a certain usage in a community, people are free to use the coins/networks they want. Several of them if they want. Click on my nickname and see for yourself. You could set up a special box for this, and maybe specifically ask to people to fill it in at registration. Here, I hijacked the “pronouns” section. And I used the website box to publish my PayNym. In any case, things can be entered directly in the “About me” box.
What:
How it would work:
The user would link their crypto wallet (Lightning for BTC and Polygon for Ethereum) to their Discourse account.
When the user wanted to send a tip to another user, for example when he really liked any post, he would click on the specific icon at the footer of the post and a pop-up would be displayed for him/she to choose the amount to be sent.
Optionally, it would also be possible to send tips by accessing the user’s profile page, where there is a button with the same functionality.
Justification:
A priori, it would be a feature as simple as that, with no concern for privacy or things like that. We’re talking about tips (micropayments) as a form of reward and not about high-value transactions. But, of course, nothing prevents that there is also support for Monero in this feature.
This seems rather simple indeed.
Store a value for each user, which the user provided (payment info).
And add a button which will show a QRcode according to this value or redirect to wallet apps.
And I suppose that’s it.
What you really want is a button to formalize things, rather than people copy/pasting the payment info from the profile (what I described above).
You can commission a plugin doing this in marketplace
I think it’s simple too, but I’m not a developer so I don’t know if it’s really that simple to implement in Discourse.
This is the tipping use case in Nostr, it’s basically this:
But that would be the solution for BTC tips via Lightning Network, only.
As for Polygon/Ethereum, I don’t know of any use case like this that has been implemented before, hence I said at the beginning that it would have to be implemented from scratch.
I will write a proposal to post on the marketplace. Thank you for your attention.
Guys! Let’s deep into BTCPay.
All the stuff in Lightning Network is experimental (and a kind of companies game) but is included too in their systems. They have a very good API and superb community, plus their use original Bitcoin network without aditives.
That’s mandatory for enterprise that wan’t to build everything on experimental 2nd layer.
Just my two cents
Very interesting, I didn’t know about this project.
However, there is a “little” problem with it… transactions are made directly on the Bitcoin blockchain, which implies high fees and a delay to commit them.
For a tipping system, which is what is being proposed here, these two things make the functionality unfeasible.
What makes the experience of sending and receiving zaps (tips) on Nostr so fun and enjoyable is precisely the fact that they are instant and cost nothing to send or receive. Small value transactions are free on the Lightning Network.
Furthermore, it is not necessary to create any node/server to implement tips over the Lightning network in Discourse, the user will just link his Lightning wallet to his Discourse account and the plugin will do: (1) To receive: say if the user is or not able to receive tips and (2) To send: interact with the LNURL server to set up the transaction, but not commit the transaction itself.
This approach makes it very simple to include this functionality in Discourse. Community admins using Discourse platform will not need to know anything about Bitcoin technology, nor set up specific servers for this purpose.
The implementation of tips in sats is as simple as that, just copy the implementation they did to Nostr.
The difficulty, I think, will be to create the same functionality but for the Ethereum network. There are Layer 2 solutions on Ethereum, but would it be simple to implement the same functionality using any of them? I don’t know.
That’s the reaction I initially got when reading his post too. He says BTCPay is implementing the Lightning network, though. Which they do: Lightning Network FAQ | BTCPay Server But, BTCPay might be more about one entity receiving all the payments. I’m not sure it would be good for the use case here. Unless you want to deal with user accounts internally. It would be centralized at your level. It’s probably better to keep things decentralized and let user exchange directly between themselves.
I believe it would be the opposite: The only difficulty with the lightning network the way Nostr seems to deal with it is that it generates a new LN invoice for every transaction (according to your above provided pic).
The ethereum/polygon networks are “account based” rather than UTXO based like Bitcoin. So, every transaction would necessarily be sent to the same address per user, if I’m not mistaken. I don’t know if it’s even possible to do otherwise (is it?). That’s the way it works. It would be “bad” in term of privacy, but very simple to implement, on the other hand. Unless I’m missing something.
An alternative (centralized) solution would be to use a third party for micro payments, like for example FaucetPay. They have an API and support many coins. Small amounts for tips would be exchanged internally with them and users would be able to deposit/withdraw bigger amounts.
No, not instead of, because
So, more additionally to so the forum’s engine works as intended
You’re absolutely right!!
My apologies.
Native Bitcoin transactions are either slow and cheap or fast and expensive. In addition, on occasions the fastest transactions can be very expensive and the cheap ones very time consuming, which is definitely not a viable option for a tipping system.
On the other hand, in the Lightning Network transactions are instantaneous with relatively constant fees, which does not exist natively in Bitcoin.
For a tipping system like the one implemented in Nostr this is ideal.
I must admit I don’t know enough about crypto to be able to adjudicate this. However, I think there is likely enough information about the Lightning network in this topic now for someone to be able to research it adequately if they do decide to take this feature on (either as a third-party plugin, or as an official one).
Perhaps we can draw a line under this, and say that it is one of several options that could be considered.