Mirror Development

Posted on Feb 23, 2021Read on Mirror.xyz

Mainnet Migration

So far we've been onboarding users through Rinkeby, while evolving our on-chain protocol. We call our onboarding model "burn-to-register", because members need 1 $WRITE token to join, and the token must be destroyed once they do so. To do this, our $WRITE token's ERC20 contract has a register function that burns 1 token before calling into a registrar contract that registers the user's ENS name. That registrar contract can only be accessed from the $WRITE token, and so these contracts are tightly coupled, and we have needed to take our time to make sure that they were working well and were very gas-efficient. Over the last two weeks, we finalized this system and deployed it to mainnet. Check out the code on GitHub and the contract on mainnet.

Over the next two weeks, we will migrate existing users to mainnet ENS, and start air-dropping mainnet tokens to new users. We will meticulously observe this process and ideate ways to improve.