I open this thread in the spirit of making Ethernaut more accessible without making it easy or giving away answers and emphasizing a DIY attitude.
A good place to start would be to improve upon the help guide already available.
This is some of the changes that would have been useful to me. Of course, they are only proposals, feel free to criticize and propose your own.
Help page on Ethernaut
On ‘Beyond the console’
Add an example on how to interact with a deployed contract:
pragma solidity ^0.4.18;
contract Deployed {
uint public age;
function setAge(string _age) public {
age = _age;
}
}
contract MyContract {
Deployed deployed = Deployed('DEPLOYED_ADRESS');
deployed.setAge(_age);
//or
deployed.call(bytes4(keccak256("setAge(uint256)")),_age);
}
And add a link to the ‘External Function Calls’ on the solidity docs.
On ‘troubleshooting’
Add the mention of the need to check if enough gas to the transaction call.
Add v0.5.0 Braking changes
Link to the solidity docs on the breaking changes from v0.4.0 to v0.5.0