May 2019 | Ethernaut status update

Hey there! I’m creating this checkpoint thread to see what have been done and what’s the status of each of your contributions :slight_smile:

Mind sharing updates on how is all that going and what troubles did you encounter with? How can the rest of the community help? What should we do next?

I also wanted to invite @ylv-io, @redragonx, @ianbrtt and @abcoathup who have shown interest in joining the Ethernaut working group :smiley:

4 Likes

My thoughts for Ethernaut are:

  1. (continue to) Be fun
  2. Guide developers to learn about smart contract security and OpenZeppelin
  3. Be a go to place for developers new to Ethereum smart contract development
  4. Potential recruitment tool for Ethernaut

I first played at the time of Devcon 3 (November 2017). I heard about it and messaged a smart contract developer friend to see if they had heard of Ethernaut and if they were playing and their response was:

No but I sure as **** am now :smiley:

They sat down immediately and were in the top 25 finishers.
Looking through my old messages, I found it fun and addictive. (I kept saying just one more level, and then starting the next level).
More than once I knew how to solve a level but had to struggle to find the correct syntax which was a huge pain.

At the weekly hack I go to, we often direct new people to Loom's CryptoZombies.
CryptoZombies states 300,000+ students.
It would be great if Ethernaut was part of that early starting off point for developers new to the space.

1 Like

So with those thoughts in mind, I think Level instructions could include more information to help new users.

As an example for Level 1:

  • How to send ether when interacting with an ABI
    e.g. await contract.someFunction(parameter1, {value: toWei(0.1)})
  • Converting to and from wei/ether units -see help() command-
  • Fallback methods
    https://solidity.readthedocs.io/en/latest/contracts.html#fallback-function
  • How to send ether outside of the ABI
    e.g. await sendTransaction({from: player, to: instance, value:toWei(0.1)})
    Along with how to adjust gas limit using MetaMask when calling a contracts fallback function.
  • Check your progress:
    Owner of the contract: await contract.owner()
    Balance of the contract: await getBalance(instance)

For Level 0, references to Chrome v62 I assume can be removed and the level text updated to use await.

Which means I should probably do a PR to update some of the early level text :stuck_out_tongue: unless anyone else is already doing similar.

1 Like

Hi!

SafeMath is done, but Solidity 0.5 is still WIP. I am sorry that it lasts so long, but after my short vacation I have an extremely busy time at work and postgraduate studies. Fortunately, my deadlines end on May 20 and then I intend to strongly speed up with sol 0.5 :wink:

At the beginning I intend to change my checklist on PR, to include single smart contracts that compile. I think that this will give a clearer picture of progress in this area. My intention is to modify all smart contracts to compile to Solidity 0.5. Next after testing all levels we will see which of them are broken and then we can decide what to do with them.

When I have problems with any particular error or level, I will ask you for the support :slight_smile:

3 Likes

Do we have any stats on usage of Ethernaut?

https://ropsten.etherscan.io/address/0xc833a73d33071725143d7cf7dfd4f4bba6b5ced2

Well I would love to pass all the levels :smiley: got stuck in the 11th and I think would be great to have some sort of hint of where is de documentation of what you have to learn to hack it. I can help with docs but in a near future because right now I’m with a bunch of stuff. I can give tips though :wink:

1 Like

Hi everyone, status updates are a good idea, makes me feel I’m not working alone, and motivates me to keep at it.

About my progress.

  • Switch: The level as a whole seems fine, it just does not pass the test that solves the level. I have been trying to solve it manually but it is a very low level, I will need some help. I am writing at the moment a post about it.
  • Change language PR: I’ve made some progress, the home page now changes language and I’m working so the names of the buttons will also update.
    I had some trouble with bootstrap, if anyone is familiar with it, please check out my issue here.
  • I’ve also started reviewing the Puzzle new level.

Glad to participate in such a great project.
Best regards to all!

2 Likes

I don't think anyone is doing that yet, open an issue and go for it :slight_smile:

Awesome! There's no rush, you're already doing a lot of progress :rocket:

:+1:

Support :wink:

I don't think so, @ajsantander? Maybe that could be another cool issue :slight_smile:

Have you checked Ethernaut Community Solutions? Also, @frederickalcantara is working on https://github.com/OpenZeppelin/ethernaut/issues/120 which is exactly that: a "read before" guide with everything you need to solve a level (without the actual solution).

:heart:

Great, why don't you open a topic in Support? :wink:


Ok, amazing progress everybody, thank you very much! Can't wait to see what the rest have to say :slight_smile:

2 Likes

I’m sorry for my absence but finally, I’m back :slight_smile: I have just updated my WIP status (https://github.com/OpenZeppelin/ethernaut/pull/123).
I have several tests left and I’m going to finish it as soon as possible :rocket:

2 Likes

Thank you @paulinablaszk that is awesome.

2 Likes