Well...almost. Today I implemented the code and wrote tests for the basic functionality that we've agreed on for the v1 of Mirror's on-chain components. Tomorrow I'll deploy that to testnet and wire up the frontend.
So you've got your Mirror Invite Token, this allows you to create a Mirror Publication, which has a Mirror ENS subdomain. The Mirror Publication allows you to have a token (it's has
mint()), which is cool, because every Mirror Publication is a legit publisher this way. It can also do fun things like say "if the reader has 5 of my tokens, allow them to comment", or "only readers with at least 1 token can read this exclusive entry".
In terms of launching, today I realized that we should add commenting functionality, and allow anyone to "sign up" and get a contributor account for commenting, without needing an invite token or to deploy a publication. This would allow us to see who shows up and contributes good comments, which I think would encourage us to mint $WRITE tokens for those folks -- having shown they are interested and responsibly contributing to the community.
I'm not sure this follows for "liking". Liking is definitely not as cool as commenting, and I think liking might actually have been bad for the internet in general, because it perpetuates status anxiety. I think vanity metrics are overrated. This has been on my mind more after getting into Jaron Lanier's stuff this week (have listened to a few hours of content from YouTube so far, starting with the Radical Exchange interview).
The other idea that I've been playing with is on-chain referrals. If a publication had a
refer() function, it could allow a publication owner to mint a token for another Ethereum address. We could cap the number of tokens that a publication could mint, which would allow an organic expansion of the platform. It would be somewhat expensive to refer someone (at least a few dollars), but it could be worth it.
Taking about costs, with the current implementation it will cost about $120 to register for Mirror. This is quite expensive. Here's my calculation:
I'll need to break this down to see what's taking the most gas and how to optimize it. I'll be able to optimize deployment through a proxy-implementation deployment strategy, which also allows for contract upgradability. But I think that can be dealt with at a later stage...
Right now the goal is just to learn as much as we can and get a good feeling of how this will all work together. This isn't DeFi, so it's not as much a matter of calculating the right interface with interest rates and farming -- it's more about getting a sense of what it's like to use this new web3 paradigm for publishing.
If this works out well -- if the UI feels good -- this project is going to accelerate web3 quite a lot. I don't know if people are expecting that for 2021; a lot of people are still focused on DeFi. But what they're missing is that a web publisher with an on-chain component could scale extremely rapidly.