If you invested in EOS, this is essential for keeping your funds safe, and many don't know about it. If you are one of them, stay with me!
The EOS ICO has been going on for several months now, and will carry on for several more. There are great resources if you want to understand and participate:
- https://eos.io/ (obviously)
- https://github.com/EOSIO/Documentation/blob/master/TechnicalWhitePaper.md
- https://steemit.com/eos/@trogdor/the-eos-ico-for-dummies
- https://steemit.com/eos/@vitkolesnik/how-to-buy-and-claim-eos-tokens-a-step-by-step-tutorial
I'm not going to reiterate all of that.
Why do you need an EOS keypair?
Let's start by defining two types of EOS tokens:
- ERC-20-EOS
- EOS-Mainnet-EOS
The EOS project is in its token distribution phase right now, offering ERC-20-EOS tokens. Those are not the currency of a new crypto platform, they are just ERC-20 tokens. Once the ICO ends, these tokens will be frozen, so no-one will be able to trade them anymore.
Then, if and when somebody starts an EOS mainnet (which doesn't exist yet), whoever holds these ERC-20 tokens will get the same amount of the new currency on this new mainnet, which I will refer to as EOS-Mainnet-EOS (if that's not complicated enough, feel free to search and replace with something more ridiculous). The EOS mainnet will be a completely new environment, and as such use a special address format incompatible with Ethereum addresses.
The newly generated EOS-Mainnet-EOS tokens will be stored in such addresses, which means you need a corresponding private key to access them.
You can not use your ethereum wallet that holds the ERC-20-EOS to access EOS-Mainnet-EOS! And that's why you need an EOS keypair: to be able to access your funds on the EOS mainnet.
(Sidenote: I assumed that you got the tokens from the token distribution. If you didn't get the ERC-20-EOS tokens from the token distribution itself, but bought them on an exchange (where they would just be called EOS), beware. These tokens will become utterly worthless if you keep them on any exchange after June 2018. You will have to move them to an Ethereum wallet that lets you control the keys or you won't be able to do any of the following.)
All of that information can be found in the resources listed above, too.
How do you get and register an EOS keypair?
So here is the part that I took hours to understand - the part I hope to help other save hours in understanding. Usually when I generate a key pair, I use a wallet for that purpose. Which obviously means I do it offline. That's important to me, because essentially my key pair is my money.
In this case, however, lots of how-tos and chats and whatnot point users to one of these pages:
The first is a private fork of the second, where @nadejde provides a webinterface for key generation. It works and looks like this:
The thing is, I really didn't want to generate my keys with a fork by someone unknown to me.
Disclaimer: It is not my intention to bash @nadejde or his work. I think it's great he implemented the tool and I expect it to be malware-free and fully functional. Afaik he did so for users who don't use metamask.
Okay, so what about the second link? Turns out this is a github repo, so you could pull the source of something and build it and ... whatever. With my amount of experience, that would take ages and fail. So, where do you get generate the keys? Turns out I missed the obvious: keys can be generated during the key registration process.
At this point, you must have some ERC-20-EOS sitting in your ethereum wallet (you get those by following the tutorials mentioned at the start). If that wallet is in Metamask, do this:
- go to https://eos.io
- search and click the GET EOS button:
- check check check check check CONTINUE:
- with metamask unlocked, find and klick EOS TOKEN DISTRIBUTION:
- now the dapp will load:
- and then you will see the dapp interface:
(That 0.000 EOS should be something else, I'm just using an empty account for demonstration) - click on REGISTER KEY and you will see this dialog:
And there is a keypair, generated just for you. Follow the instructions on the left and you're good to go.
So. The keys are still generated in the browser. With lots of javascript and react. Brrrr, that don't feel right to me! But I didn't find any other way to do it. As soon as there is a client and a mainnet, I will move my funds to a location that feels a little safer.
This has become a very long post, I didn't expect that. So here, for those with little time:
TL;DR
- You MUST register EOS keys before July 2018
- You can do so using the EOS Token Distribution interface on https://eos.io
If you have any questions or comments, get in touch!
Coins mentioned in post:
The edit button seems to have vanished, so I put an update here:
All of the above is optional now, since binance and some other exchange offer to do the toke swap for you if you keep the tokens on their exchange at the time of the token freeze.