EOS Crowdsale with MyEtherWallet - The Complete Guide

in #eos7 years ago (edited)

eos-blockchain.png

There's been a bit of confusion about how to contribute to the EOS ICO with MyEtherWallet. I speculate this is an inadvertent result of Dan being spoiled by Graphene blockchains, and the inherent ease of building a web-interface on top of them. By using MetaMask, the EOS team could come close to meeting these high standards. The reality is likely a bit different, but I digress...

This ICO Contract was designed to be interacted with through the Official EOS Site. Using the official interface helps you understand various parameters and avoid potentially catastrophic validation mistakes and/or process omissions. On the other hand, MyEtherWallet aggregates interfaces rudimentarily at best, and so you are unnecessarily inflicting a great deal of usability constraints onto yourself when attempting to interact with the EOS Token Sale contract in this way.

All that aside, some people don't want to use the Official EOS Page because it requires MetaMask or they don't use Chrome. Some just insist on using MyEtherWallet (MEW). There's also the chance that the EOS site goes down or MetaMask causes you problems, in this situation, using MEW is one potential workaround. This article is directed towards this niche group of users and entirely possible situation.

Instructions start at Dancing Avocados

Due to the complexity and risks associated to this crowdsale I did not skimp on any details, and it will probably be the most tl;dr article you will (or will not) read today. For those of you who want me to just tell you how to participate without explaining the risks, you'll be sorely disappointed, because that's not going to happen here. It's a complex ICO that requires explanation, accept no less.

This guide is intended for ADVANCED USERS

If you are a novice, you should really just install the MetaMask Chrome extension and proceed over to the Official EOS Contribution MetaMask enabled Interace. For those that don't understand how to use MetaMask and the official interface here's a great tutorial that explains it..

That Said, You Assume All Risk

USE AT YOUR OWN RISK. I AM NOT RESPONSIBLE FOR TOKEN LOSS. THIS IS NOT LEGAL OR INVESTMENT ADVICE. IT IS HIGHLY SUGGESTED YOU READ THIS ARTICLE IN IT'S ENTIRETY AND UNDERSTAND THE IMPLICATIONS BEFORE CONDUCTING A TRANSACTION. IF YOU'RE A US CITIZEN OR RESIDENT YOU CANNOT PARTICIPATE IN EOS TOKEN SALE AND BY EXERCISING THIS CONTRACT YOU ARE AGREEING TO THOSE TERMS.

About the EOS Token Sale

It's probably a good idea to understand a higher level view of the EOS ICO, here's a wonderful article written by @trogdor. If you're more technical, read the whitepaper and if you don't know how to read instructions just scroll down to the comments and ask a question that was answered in the article you're commenting on ;)

dancing avocados

Prerequisites

  1. Prior MyEtherWallet experience
  2. A funded Ethereum Wallet (for funding the contract, and paying the fees associated to transactions)

Useful Tools before you begin

If you want to be playing on the same level as contributors using the official MetaMask integration on the EOS site, you may consider using one or both of following tools that will provide insight into the current state of the EOSCrowdsale.

First up is EOSScan, it will show you the current rate, as well as time left in the current window and is very simple to use.

Screen Shot 2017-06-28 at 6.30.04 PM copy.png

Next up is for people who want to see into future windows, here's a tool I made based on code originally written by Luke Stokes, it takes about 60 seconds of setup but allows you to peak into future windows. It also display both USD and ETH EOS rates. This is most useful if you're looking to contribute to future windows

Screen Shot 2017-06-28 at 5.18.21 PM copy.png

Feel free to let me know of any other tools you may have come across in the comments below :)

Step 1: Fund EOS Contract (The Current Window, "Today")

This will fund the current window, if you're looking to fund a future window, click here

  1. Obtain the contract address from http://EOS.io or trust me when I say it is 0xd0a6E6C54DbC68Db5db3A091B171A77407Ff7ccf(It's always suggested to trust no one in these situations)
  2. Go to https://www.myetherwallet.com/#send-transaction
  3. Load your wallet using any one of the methods listed, for this example I used the Keystore File. Enter the password to your wallet in the very likely event is is encrypted. If it's not encrypted, may Murphy's Law forever be in your favor.
  4. Click Unlock button
  5. In Address field, enter the contract address.
  6. In Amount to send field, enter the amount you would like to contribute.
  7. Allow the wallet to suggest a Gas Limit. If it does not autopopulate, enter 90000 or more. If your TX fails, increase Gas Limit. If you would like your TX to go through more quickly, adjust your gas limit accordingly.
  8. Click Generate Transaction button
  9. Check the details of the transaction, and if you are confident, click Yes, I am sure! Make transaction
  10. If all went well, a green bar will appear at the bottom of the page including a link to your transaction on the blockchain.

Step 2: Claim EOS Tokens

You can claim tokens at the end of any window you have contributed to. If you attempt to claim tokens before a window(s) you have contributed to has closed, the transaction will fail. This is intended functionality.

  1. Go to https://www.myetherwallet.com/#contracts
  2. Under heading Select Existing Contract is a dropdown, select EOS Contribution
  3. Click Access
  4. Under the "Read / Write Contract" heading, in the dropdown select claimAll.
  5. Load your wallet using any one of the methods listed, for this example I used the Keystore File. Enter the password to your wallet in the very likely event is is encrypted. If it's not encrypted, may Murphy's Law forever be in your favor.
  6. Click Unlock button
  7. Click Write button
  8. Set Amount to send to 0 and allow the wallet to suggest a Gas Limit. If it does not autopopulate, enter 90000 or more. If your TX fails, increase Gas Limit. If you would like your TX to go through more quickly, adjust your gas limit accordingly.
  9. Click Generate Transaction button
  10. Check the details of the transaction, and if you are confident with the details you have entered, click Yes, I am sure! Make transaction
  11. If all went well, a green bar will appear at the bottom of the page including a link to your transaction on the blockchain.
  12. After the transaction is confirmed the ERC20 tokens will be transferred to your wallet.

Note: You will not see your tokens immediately in MEW, you need to take a few extra steps. See instructions for seeing token balance and transferring tokens.

Step 3: EOS Public Key Mapping

This is the part of the process that confuses people the most. So please read every single word here very carefully. These steps can be completed at any time before the ERC20 tokens are frozen somewhere around June 3rd 2018.

Step 3.A: Generate EOS Key-pair

  1. Visit the EOS Token Generator created by @nadejde based off the official EOS Contribution Interface code, but with everything stripped out but the Key Generator. The original article about this code is here
  2. Click Generate EOS key
  3. CAREFULLY SAVE THE GENERATED KEY-PAIR

If for whatever reason you lose them, you can update your EOS keys at any time anytime between now and 48 hours after the token sale.

Step 3.B: Registering/Mapping your EOS Key

About EOS Key Mapping

Registering your EOS key will map the key-pair you generated earlier, the public key of your future EOS wallet, to the Ethereum Address this transaction is broadcasted from. It is very important to understand this, because 48 hours after the token sale ends, ERC20 tokens can no longer be transferred, and where they live at that moment in time will be where they die, only to be reborn on the EOS blockchain according to the mapping defined by this function.

(takes deep breath)

For example, if you move the EOS ERC20 tokens to an exchange, and fail to move your tokens back to an Ethereum address you posses the private keys for that is mapped/registered to an EOS address, you will not have access to those EOS tokens on the native chain after June 3rd 2018.

...But relax, you have time, there is no rush or need for anxiety yet, June 3rd is still a ways away

Does it matter when the EOS keys are mapped to an Ethereum Wallet?

What's most important about all this is that you have a valid EOS key-pair whose public key is mapped to an Ethereum wallet containing EOS ERC20 tokens BEFORE the end of the 48 hour grace period following the end of the EOS token sale on June 1, 2018 at 22:59:59 UTC

This means that registering a.k.a. "Mapping" your EOS key can be completed at your discretion, before or after funding the EOSCrowdsale Contract, at any time between now and the end of the ICO.

EOS Public Key Registration can be completed at your discretion, before or after funding the contract

How to Register your EOS Key

YOU ONLY NEED TO MAP AN EOS KEY TO AN ETHEREUM ADDRESS ONCE! DOING MORE THAN ONCE IS JUST WASTING MONEY! ... Unless of course you need to Update Your EOS Key Mapping

  1. Go to https://www.myetherwallet.com/#contracts
  2. Under heading Select Existing Contract is a dropdown, select EOS Contribution
  3. Click Access
  4. Under "Read / Write Contract" select registerfrom dropdown.
  5. In the field named Key enter the EOS Public Key you generated earlier. DO NOT, I repeat, DO NOT enter your Private key here.
  6. Load your wallet using any one of the methods listed, for this example I used the Keystore File. Enter the password to your wallet in the very likely event is is encrypted. If it's not encrypted, may Murphy's Law forever be in your favor.
  7. Click Unlock
  8. Click Write
  9. Set Amount to send to 0 and allow the wallet to suggest a Gas Limit. If it does not autopopulate, enter 90000 or more. If your TX fails, increase Gas Limit. If you would like your TX to go through more quickly, adjust your gas limit accordingly.
  10. Click "Generate Transaction"
  11. Check the details of the transaction, and if you are confident, click Yes, I am sure! Make transaction
  12. If all went well, a green bar will appear at the bottom of the page including a link to your transaction on the blockchain.

Unanswered Questions

  • What happens if a single EOS public key is mapped to multiple Ethereum addresses?

Answered Questions

Can register() be called from the Ethereum wallet to update its mapping to an EOS public key?

Yes, it can

How does buyWithLimit() work in practice? Are funds not meeting limit requirements returned when running claimAll()? If so, where is the code for this?

buyWithLimit() function will prevent you from sending the same contribution twice, for example, if a TX is stuck due to network congestion. I have provided a tutorial on this

Conclusion

I strongly suggest you use the official EOS contribution page with MetaMask integration, here's a good tutorial that explains how. It takes far less time, and the chances of making a mistake are many orders of magnitude lower.

For the advanced users, MEW fanatics, and paranoiac offline TX signers, you probably found this helpful. If you've found an error, please let me know!

Recap

  1. Fund Contract from Ethereum Wallet you have mapped with your EOS key (or be sure to send the ERC20 tokens there by end of Token Sale)
  2. Claim your tokens if you would like to transfer them
  3. Generate and save EOS key pair
  4. Register (map) your EOS public key to your Ethereum Wallet (technically anytime before end of Token Sale).

Remember that your EOS ERC20 tokens should be in a wallet mapped to an EOS public key that you posses the private keys for sometime before the end of the ICO.

If you have no specific reasoning for preferring MEW you should really visit this article by @trogdor that explains the EOS sale in its entirely, as well as the MetaMask contribution process.

Troubleshooting

  • If you're getting "Window Blocked" errors in MEW, try the following
    • Disable your adblocker
    • If using brave, switch to chrome
    • Visit chrome://settings/content/popups and turn off pop-up blocker (switch to "allowed")

More EOS MEW Guides

Coming soon

  • Instructions for adding EOS ERC20 token to MEW with "Add Custom Token"
  • Videos for each step.

Again, USE AT YOUR OWN RISK ... I'm only a Sandwich.

Thanks for reading :)

Changelog

  • Some wording has been improved and simplified, excess removed.
  • I verified the instructions, You can view Registration TX and Funding TX on the blockchain. I will test the Claim instructions at end of first window.
  • MyEtherWallet added contract to their interface, updated accordingly.
  • Removed Technical Breakdown, moved it into it's own post.
  • Changed step order to subdue chaos and confusion.
Sort:  
There are 5 pages
Pages

I can no longer edit this post, but please consider claiming your tokens using claim function. It's arduous, but you will save money. Instructions here: https://steemit.com/eos/@koyn/minimizing-the-cost-of-gas-when-claiming-eos-using-myetherwallet

Hi yes you will find that you actually do need to use the 'claim' function rather 'claimall'... I just wasted about €9 trying to make MyEtherWallet 'claimall' - you need to go to 'claim' in the drop down under contracts and then enter the period under which you contributed for tokens. When trying to 'claimall' I was repeatedly told I was 'outof gas' when trying to claim the tokens... being relatively new to this I tried repeatedly, raising the gas threshold, but wasted money each time, as 'claimall' doesn't seem to be the way to go... you need to use 'claim' and enter the period which you're claiming for...! (In fact just follow the instructions on the EOS website!)

Thanks @sandwich for your sound and useful tips. Just before reading your post I did what the EOS website suggest (I'm referring to Step 2 and bullet point #8 of this post). So as the EOS website says, I claimed my tokens with 4500000 gas limit in MEW. This is insane! I ended up paying $22 just to claim 211 tokens. EOS or MEW should warn users about the amount spent when using gas. Now it's too late. I had a good lesson today.

Hi,
On the step 9-10 it says there are no funds for gas and i cant get through that! any clue?

There's no instructions anymore on EOS website. What shall I do now then? Thanks @sandwich

I registered my Exodus EOS wallet to MEW. Now its linked together.
http://support.exodus.io/article/65-register-eos

Thank you @sandwhich! Very useful. I also strongly recommend NOT using ClaimAll as this gets very expensive (essentially going through all days, one by one since the start of the ICO). Use Claim instead.

If you don't remember the period(s) you contributed to, you can use this tool: http://eoschart.com/ Put your ETH address and it will tell which periods that address contributed to

Thank you for describing risks of using MyEtherWallet, I was planning to use it to participate in ICO, but this article changed my mind. Actully it is great written and I would pick it as my guide, but right now I can't afford time for reserching this topic. Thank you for your work, it is really valuable!

Consider using MetaMask and official EOS Contribution Page :)

Yes, I think it is better option, because risk of getting error myself is greater than risk of losing money by using online wallet. I liked MyEtherWallet offline signing feature.

I began investing in EOS with myetherwallet. I haven't began claiming my EOS yet but I'm about to do this. I'll use the tool you forked from Luke and I hope everything will go right.

I had tried with metamask but we're able to make it work.

I've just started claiming the tokens. @sandwich, once again thank you for the detailed instructions.

Hi, I made the token purchase in eos through myetherwallet and I see that it is very complicated to claim them out there, I wanted to know if I can claim them in metamask, or am I doomed to charge them only in myetherwallet? Thank you

I really like your stuff... I am really new to this stuff and I wish I had read about MetaMask before I purchased EOS tokens with MyEtherWallet. I have not been able to claim my tokens yet. I have gone through the instructions a few times and wasted transactions fees, I guess all part of the learning curve. I want to see my EOS tokens and transfer them to MetaMask. I'm sure you have posted this already, so can you point me to where I can get my EOS tokens from MyEtherWallet from the very beginning? I have claimed them, registered them, reclaimed them but I don't have them. I hope I haven't lost them. Is there an easy way to get them out of MyEtherWallet? I'm learning a lot fast, but not fast enough I guess. Thanks for your patience in advance.

Very interesting read, thanks!

Yes.

The blue pills are 1 dollar the red pills are crypto's :

oui ces tellement interéssant

He broke it down professionally

Started with MEW. Ended with Metamask. I am probably you.

Upvoted, followed & invested into EOS ICO
I will do something imilar to get the German speaking community to participate into this great opportunity, too.

Nice post ! :)

awesome guide! thanks!

Can someone please help me claim my tokens? I participated in the first round by contributing one ETH using myetherwallet and after a few days attempted to claimall but have received nothing after a few days of waiting.

I’m unable to join EOS slack because after inputting my email address and clicking get invite, the button just changes to “token_revoked” and I am unable to join.

I can’t figure out any way to get support from EOS team without access to their slack as I cannot find a forum on bitcointalk where other users or EOS team members are available to help.

Try the email that is posted on the bottom of their webpage to get support.

Brilliant and incredibly useful guide. Moreover, it worked without issues.

If you do plan on using MyEtherWallet, just be sure that you read this guide very carefully. Do exactly as it says, and you'll be fine!

can someone tell me what is EOS token??

I always appreciate detailed instructions. We need more posts intended as tutorials for those who struggle.
Many thanks, keep it up. Glad to encounter users who actually care about the quality of their postings. Even if this is untested, it is intended to help.

Yes this was awesome info...

I would like to get in on this ICO and for a non techie like me it all sounds very complex, your post helped somewhat to clear the air a bit.

For non-techies it is highly recommended download MetaMask plugin for chrome so you can use the official EOS Token Distribution Interface

This is simple as that !

That was a great article. I had already started the proces with MEM and was not aware of all the steps. I started to get nervous as soon as I saw the distribution was ended and I was not getting my tokens since I needed to claim them. I specially thank you for step 3 as It is something you do not even think of after you get to see the tokens are already in your MEM address. I have a couple of questions thought:

1.- Is there any way to know the registration and mapping process has been done?
2.- If you send funds in a new daily distribution with the same address, does the EOS key mapping need to be updated?

Thanks again

  1. Yes, https://steemit.com/eos/@sandwich/how-to-check-which-eos-public-key-is-mapped-to-your-eth-address-with-myetherwallet-mew
  2. You only need to do it once. If you lose your EOS keypair, you can regenerate and remap the public key.

Ty!

Thank you mate =) really awesome guide! You are a hero.
I am here on steemit just because of your post and this is my first comment

Welcome to the STEEM blockchain! You should head over to #introduceyourself and check out some posts and then post an #introduceyourself post of your own :)

I am thinking of making a video on this, especially the last part. EOS public key mapping.

The avocados told me to give them my private keys.

Thank you for the excellent post.

Thank you for the detailed explanation for using MyEtherWallet to participate into EOS crowdfunding, I couldn't use METAMASK to participate into this ICO (I did have a strange parsing javascript error).
The steps appear to be complicated but once you do it the first time you gain experience using MyEtherWallet and you can use some of this acquired knowledge to participate into other ERC20 tokens crowdfunding.

Good lord how is it so complicated??

That was explained in the first two paragraphs. This contract was designed to be interacted with by their interface. Plus it's really not that complicated.

Anytime

  1. Fund the contract
  2. Claim tokens after window has closed.

At any point between now and before ICO is over:

  • Generate an EOS Key
  • Map the EOS Key

Pretty simple.

After I claim the tokens, why do i have to Map the EOS key?

so your tokens can be delivered...
like asking why you have to give them your address after you have paid for something to be delivered... so it gets to you.

ok, thanks

I have to emphasize:

If you move the tokens to an exchange, and fail to move your tokens back to Ethereum address you have the private keys for and have mapped to an EOS address, you will not have access to those EOS tokens on the native chain after June 1st 2018.

Good emphasis

If you have EOS on exchanger then withdraw it on your EOS address.

Thanks.
Great article.

Thanks for taking time to write the tutorial - really clarified the key mapping/registration process. Cheers!

Thanks for the extensive guide!

It worked flawlessly when claiming my EOS tokens.
Thanks!

Thank you for a very helpful, I was looking for this information since yesterday.

The hype on EOS is too strong,I'm still confused LOL

What do you need to know?

How to contribute via MEW?

Everything you need is above then (:

Excellent guide! Thank You.
I would add that the minimum amount to fund the contract is 0.1 ETH.

You're absolutely right, I totally forgot minimum contribution. Except one thing, it's actually 0.01 ETH as seen on line 508

Screen Shot 2017-07-06 at 3.10.18 AM.png

Indeed I was an order of magnitude off.
On the instructions page at https://eos.io/instructions they mention the 0.01 minimum right under the heading 'How To Participate'

Thank you so much for this post!

Hi, I do not pretend to copy the content of this post, but I just wanted to translate it to Spanish to help other people too. Therefore, I just want to be sure that it is ok for you.
Congratulations for the tutorial, it is really helpful!

Yes, go for it. Please link to original post and make a mention however.

Did you ever translate to spanish?

Thank you! you just made life a million times easier and answered all my questions! Great detailed post. Anyone reading this should read every single word written in this article. skipping over any word may lead to confusion.

Thanks for the guide, very helpful (although probably I'll go with Metamask, since I have little experience with this).

Time well spent that was a brilliant post. Thank you!

You're welcome

I dunno much about cryptos, but I know a good sandwich when I see one.

I thought it might be worth mentioning that the EOS crowdfund is currently not open to US citizens :-(

yep, thats mentioned in the ALL CAPS paragraph

Ugh my bad, brain overload

Please also read why you should be patient with this EOS ICO.
https://steemit.com/eos/@bitcoholic/eos-ico-please-be-patient

Man... I only understand approximately 40% of this post but it still did a lot for me. Cheers bro
I might want to translate what 40% I understood into Korean and share it with our KR community.. if that's okay with you.
Followed you to learn more. Thanks

Go for it, please reference the original article and make a mention. Cheers!

You totally should post your EOS address. I got big tip 4U!

But you cannot tip to EOS addresses until the EOS platform is launched :) ... Feel free to tip me at sandwich.eth from ENS compatible wallet ;)

I feel dumb now.

Why's that?

Please upvote and follow me and i follow u back and upvote ,

I am new to this social media
Thank you to all of you

Https://steemit.com/@cheddad.kamal

i interstzed to ur articles

Has anyone been successful in transferring EOS tokens from their Metamask wallet to their Kraken or BITFINEX account?

Yes. I transferred to bitfinex no problem.

Hi!, I'm not sure how to do it. I suppose that after claim my tokens (using the EOS token distribution app) I should go to "Transfer EOS Tokens" option and send to the address generated by Bitfinex, right?

Thanks for your help.

Has anyone read Terms and Agreement?

join my team,with this link and i will guide you how to trade and lend bitconnect to earnd unlimited money,and after joining plz put a whatsapp msg on +918906715767 ,i will give 0.005 bitcoin who join under my network.link is provided down hurry up....
https://bitconnect.co/?ref=ankansheth

Congratulations @sandwich!
Your post was mentioned in my hit parade in the following category:

  • Pending payout - Ranked 2 with $ 2208

"At any time a user can map their Ethereum address to a public key in one of the following formats:

  1. EOS Public Keys - EOS4yfYEjUodfs.......DfavaddbvD
  2. Steem Public Keys - STM4yfYEjUoey4.......UaSt2Sx9W4
  3. BitShares Public Keys - BTS5WaszCsqVN9.......Wz47B3wUqa"

I'm pretty sure I understand correctly but wanted to confirm, I can use a BTS Public key instead of using the EOS key generator somebody posted, and claim my EOS when it launches using my BTS private key. Correct?

I never got a response regarding this. I just use EOS keys. And it's not just some EOS public generator someone wrote, it's the same generator written by block.one, it's a fork of their repo with all code but generator code stripped out.

A well written article,which will help us have a better understanding of EOS. Upvoted and following you in order to read more from you and send in my support- thanks for sharing

Great, this helped me a lot! Next time MetaMask for sure. BUT, i claimed the tokens, they are visible in MEW now. Could you send & sell them on an exchange without doing the last part before the 18th or do you have to map them anyway?

Depends. You can map keys to an ethereum at any time, as long as you remember to and move your tokens to that wallet before they are frozen

There are 5 pages
Pages