Right now, SmokeSignal is written such that users must have DAI to burn or tip on SmokeSignal. But it’s worth discussing some other options here. I’ll start by going over the pros and cons of the current setup.
DAI as the Core Token
When I see that a post has $100 burned, that feels like something to me. I can grasp it, I have a great idea of how much that is. If, instead, it’s 0.2 ETH, well… I can “feel” the range of that number, but it’s not as exact of a feeling. And for users who don’t care about crypto and only care about uncensorability, it will be completely opaque–a google search away, which in the context of UX design, is actually quite far. And the volatility means that you can’t just look it up one time, fix the exchange rate in your head (“1 ETH is about $500”) and use that forever; the rule of thumb rapidly becomes outdated.
This applies to all dapps, not just SmokeSignal. When values are denominated in a USD stablecoin, it’s instantly legible to all users. As soon as we move to any non-stable or obscure crypto, that benefit is lost and we have another significant barrier to a user feeling at home in the dapp UX.
(Now we could, for example, burn ETH and display the DAI value of that burned ETH - but when do we price that? When the user posted, or the moment the viewer sees it? Either way we run into weird issues. Let’s say I burn 0.2 ETH for a post today, and ETH grows by 100x in a year. Then do we display “$100,000 burned”, or “$100 burned”? Both are pretty critically inaccurate. When we burn DAI directly we avoid this problem entirely.)
ETH as the Core Token
Using ETH instead would lower the barrier to entry, and simplify usage of the platform. The user would only have to manage one balance, ETH; and tips would directly go into that balance–which would pay for both the burn value and the gas of the transactions.
Also, this would lower gas fees if I understand correctly, because we won’t need to use the ERC20 contract.
FRY as the Core Token
An obvious benefit to the user having to burn FRY, is that then this becomes a token sink for FRY, leading to an upward pressure on the value/price of FRY proportional to the usage of the SmokeSignal platform. This makes it very attractive, but there are a number of problems too.
First, the legibility of the value is even worse than listing in ETH, because FRY will be even more obscure and volatile than ETH. What does it mean to say that I burned 100k FRY on a post? Most people won’t have any idea what this question even means, and even I would have to go look at the price of FRY to even give a ballpark estimate.
Also worse is the onboarding: the user must be educated as to how to buy FRY and how to add it to their wallet.
Another issue is that this makes SmokeSignal a little less neutral, and the neutrality of SmokeSignal is at the very core of its unique value proposition. Foundry the entity can choose to use SmokeSignal essentially for free, because FRY holders benefit indirectly when FRY is burned.
Best of all worlds…?
@sjalq had some ideas about how to combine a lot of these together. It has to do with accepting any token on the front-end; then using UniSwap in the background to exchange for FRY and burn it; and encoding the current DAI value in the post data itself (and showing this value to the user). This would make it a sink for FRY (nice), keep the DAI denomination on the interface (nice), and allow users to operate with only ETH (nice).
However, this would increase the gas prices quite a bit, unless the user already had FRY, in which case it’d be about the same price as it is now.
Another downside is that this would be more complex to implement than any of the simpler solutions above.
@sjalq did I do your suggestion justice? Anything you want to add?