Safety First:
Also, please take some time out to read through the Inherent Security Risks of MyEtherWallet, by @sandwich
Understanding the claimAll function
The steps on EOS.IO website suggests you select claimAll
to claim your ERC-20 EOS Tokens.
This function essentially runs the claim()
function in a loop for each contribution period that has ended. And each time it executes the function it needs gas. This is a screenshot of me claiming my tokens at the end of Period #2 when my only contribution was during Period #0:
As you can see it has also tried to claim EOS during Period #1 and Period #2, returning with 0 EOS since I did not make any contributions. This means I have paid 3 times as much gas as I could have paid if I claimed only for a specific window.
Claiming for a specific period
If you are sure in which period you made your contributions, claiming for a specific period is really easy. Most of the steps are taken from @sandwich's The Complete Guide :
Under heading Select Existing Contract is a dropdown, select EOS Contribution
Click
Access
Under the "Read / Write Contract" heading, in the dropdown select
claim
Under day type in the period number in which you made your contribution. Example: for period #7 you would simply type
7
Load your wallet
Click
Unlock
buttonClick
Write
buttonSet Amount to send to
0
and allow the wallet to suggest a Gas Limit. If it does not auto-populate, enter90000
or more. If your TX fails, increase Gas Limit.Click
Generate Transaction
buttonCheck the details of the transaction, and if you are confident with the details you have entered, click
Yes, I am sure! Make transaction.
If all went well, a green bar will appear at the bottom of the page including a link to your transaction on the blockchain.
Below is screenshot of my claim for Period #3. It returns with a single line of 0 EOS Tokens.
Thanks for the great guide on reducing our gas fees when claiming our EOS tokens! :)
It's a shame that a bunch of gas is being wasted each day because of the recommendation to 'claim all'. The total gas price will be even more horrendous closer to the end of the ICO, imagine paying gas 300 times even though you just invested in one of the ICO days - so that 31 cent gas transaction cost would turn into $93 (.31 * 300)!
The recommendation for
claimAll()
is to simplify the already arduous process.If I don't remember which periods I contributed, is there a way to find out without using claimAll ?
Go to: https://etherscan.io/address/xyz
(where xyz is your wallet address) - search for the eth transaction you sent to EOSCrowdSale. See the age column that shows "days ago" that this was sent. For example "4 days ago"
Now go to: https://eosscan.io/ and see what period we're currently at. If its say, 291, then using above example, subtract 4 from the current period and that should be your claim day (or either side of it)
Super post
Damn I wasn't aware of this, no wonder why my gas kept going up. Will resteem and upvote
Thanks for the help! :)
Thank you, @koyn. For sharing this post. I've been looking for a solution to reduce the gas price forever on claiming the EOS tokens!
No problem!
Thanks for the tip. Just claimed my tokens on 17th period.
I'm curious though. Some of the claimAll() do not seem to execute in a loop.
For instance this transaction ran in a loop and cost $3.19, whereas this one ran only once and cost only $0.43, though both used claimAll. Why is it?
You make a good point. My guess is that the claimAll() function will not claim from the same window twice. For example, suppose period #10 has just ended. If this is the first time I'm running claimAll() it will run in a loop for every period between period #10 to period #0. Then 3 days later when period #13 has ended, claimAll() will run in a loop between period #13 to period #11. It will not bother running through periods #0 to #10 again.
At least this is my guess anyway, someone else may be able to confirm
Yes, that is exactly how it works.
claimAll
will only attempt to claim unclaimed periodspseudocode: periods[n] === false
Very well and professionally explained
Thank you very much for your help and support
Keep it up
Wow! This is awesome @koyn. I didn't know about that. Thanks.
thanks, very helpful, otherwise I would waste a lot of fee on claiming my daily contribution.
And does that only work for MyEtherWallet?
I sent ether to EOS contract and I have been trying to claim my token and it has failed to work even when I increase Gas Limit it state (Window blocked) can you give me guideline on how to claim my token or contact EOS
Very late reply but I did this just now using the above instructions except I used the prescribed gas limit which I think was about 87000 and that worked. 90000 hadn't worked before.
Glad I read this. Thanks!
@koyn
"It returns with a single line of 0 EOS Tokens."
In my case, I transferred 1 ETH to EOS address and after claiming, it also returned 0 EOS token as you mentioned. But, is it normal?
I was exptecting tokens against 1 ETH I transferred then why did it return ZERO?
because you chose the wrong period
Nice post , im on Telegram EOS , very nice project !
it would be great if we can do this with metamask. I prefer it over MEW
Thanks. Just saw this as I am registering my tokens. I'm unclear in this process of how I know what day I use to claim them? I bought my tokens on an exchange and transferred them to MyEtherWallet and registered them today. Is today the period I use to claim?
This is a very useful post. I just ran out of gas myself in my claimall() transaction, then I ended up using the claim() function as described here to get my EOS tokens :-)
You have just saved me lots of ETH and money. I already had 3 transactions going out of gas! Imagine who much more i would have had to do to claim period 255!
@Koyn, do you have any idea how long it can take for the tokens to load? I've tried claiming my tokens 5 times now and still haven't gotten anything. I've tried claimall and even your claim suggestion now. If my calculations are correct, I made the purchase in period 76 last September. Is it possible I'm too late?
Great post, Thanks.
One small detail:
How do you find out what period you made a particular contribution?
In my case, I have purchased EOS tokens several times in different periods
;)