Instruction on EOS token swap for non-exchange users
The current EOS token traded on exchanges are ERC20 tokens built on Ethereum. As the mainnet launching time of EOS is approaching, we would like to remind all the EOS holders that it is mandatory to ‘register’ for token swap in order to claim your actual EOS token on EOS blockchain after mainnet launch.Now there are many exchanges such as Binance, Huobi, Bitfinex etc. that has claimed that they are going to do the registration for their clients. However, for individual who chooses to save their EOS tokens in their own Ethereum wallet, you will have to do it by yourself and it is pretty straightforward to do.In this post, we will explain the basic mechanism of this registration and demonstrate how you can do it using myetherwallet.
EOS.IO is a project that serves the same purpose as Ethereum but has claimed to obtain more scalability and better user experience due to its DPOS consensus algorithm and C++ smart contracts. There are many other distinct features implemented or claimed to be implemented on EOS but this will not be our main topic today.
In June 2017, EOS.IO launched an ICO on Ethereum that would last for almost a year. Two million EOS tokens are distributed everyday (yes it is still on going) based on the ETH donated to the EOS token distribution contract on that day. Uniquely, EOS token is tradable even before the end of it’s ICO because it is distributed as an ERC20 token on Ethereum.
This ICO will end on 23:00 PM UTC June 1st 2018 and 24 hours after that, EOS.IO team will take a snapshot at all the REGISTERED Ethereum addresses and migrate the same amount of EOS mainnet token to their corresponding EOS addresses. Unregistered EOS tokens on Ethereum network will no longer be compatible with the EOS mainnet and therefore become worthless.
2.How the registration actually happen on the blockchain
The registration is recorded as an ‘event’ called ‘Logregister’ on the Ethereum smart contract: 0xd0a6E6C54DbC68Db5db3A091B171A77407Ff7ccf.
This event will broadcast a public keypair (Ethereum Pubkey, EOS Pubkey) which the EOS team has claimed to replicate the corresponding EOS balances of first Pubkey on Ethereum to EOS balances of the second Pubkey on EOS mainnet. https://eos.io/instructions.
According to the Solidity code of the smart contract, the ‘Logregister’ event will only be triggered in two functions ‘initialize’ and ‘register’ where the first one can only be executed by the founder. The ‘register’ function takes one parameter, an EOS address with the right format, and assigns it to the address of the function executor, i.e. ‘msg.sender’ to form a public key pair.
According to the code, this registration process is open for execution until one day after the last day of EOS tokensale which is June 1st 22:59:59 UTC 2018. Another requirement for this function is that the size of the input cannot exceed 64 bytes.
The process is rather simple and the distribution of EOS token on EOS mainnet is not fully automated (someone will need to look at all the Logregister event and match their balances one by one).
When multiple Logregister events are claimed for the same ethereum address, only the latest one will count. Also, notice that there are only two filters for the register function namely a time bound and a input size bound. This means that people can potentially input a wrong EOS pubkey format and not rejected by the contract, therefore we must be careful with EOS key generation process.
We need to generate a random EOS keypair, two methods provided by EOS official website are:
The hardware wallet which holds all our ERC20 EOS tokens
A secure wallet USB drive
- Generate a EOS Keypair using the method mentioned in II.A
- Store the EOS private key in the hardware mentioned in II.B
- Go to https://myetherwallet.com
- Choose ‘contract’ tab
- Choose “EOS: Contribution” contract with address: 0xd0a6E6C54DbC68Db5db3A091B171A77407Ff7ccf
- Choose the function register
- Use EOS public key generated in III.A as the input
- Choose Trezor access to unlock our wallet address that host EOS token which is the ether address stored in C10 Trezor 1: 0xA76b4296599e4bF518712c15Ee1023e1C380302F
- After execution, we should be able to check our EOS address in function 8 here: https://etherscan.io/address/0xd0a6E6C54DbC68Db5db3A091B171A77407Ff7ccf#readContract
- Risks mentioned in I.C, basically we need to make sure generated EOS Key is of the correct format.
- Safe storage of the EOS private key
- Avoid transferring ERC20-EOS on the first week of June as we are not sure about the snapshot time.
Disclaimer: Cryptomover is not a licensed financial adviser. The information presented in this piece is an opinion, and is not purported to be fact. Cryptocurrency is a volatile virtual commodity and can move quickly in any direction. Cryptomover is not responsible for any loss incurred by following this advice.