1. MetaMask Setup: Install and configure MetaMask, selecting your preferred network.
  2. Console Access: Open your browser's developer console to view messages and your player's address using player.
  3. Balance and Helpers: Check your ether balance with getBalance(player), or use await getBalance(player) in Chrome v62. Access other utility functions with help().
  4. Ethernaut Contract: Enter ethernaut in the console to explore the game's main smart contract.
  5. ABI Interaction: Use ethernaut.owner() (or await ethernaut.owner() in Chrome v62) to check the contract owner.
  6. Get Test Ether: Obtain testnet ether from a faucet.
  7. Level Instance: Click "Get New Instance" to ask ethernaut to generate a level instance. Confirm in MetaMask.
  8. Contract Inspection: Inspect new contract's ABI with the contract variable.
  9. Complete Level: Understand the level with contract.info(). Complete it within the contract and submit using the button.

NOTE:

  1. Start with a Fresh Instance: Always click "Get New Instance" to obtain a new level instance before beginning a challenge. This ensures you're working on a clean slate.
  2. Submit When Finished: After completing a level, click "Submit Instance." This action sends your instance back to the ethernaut for validation and completion determination.

These steps ensure that you're working on a specific level instance and that your progress is correctly tracked and validated.

Untitled

Use help()

(index) Value
player 'current player address'
ethernaut 'main game contract'
level 'current level contract address'
contract 'current level contract instance (if created)'
instance 'current level instance contract address (if created)'
version 'current game version'
getBalance(address) 'gets balance of address in ether'
getBlockNumber() 'gets current network block number'
sendTransaction({options}) 'send transaction util'
getNetworkId() 'get ethereum network id'
toWei(ether) 'convert ether units to wei'
fromWei(wei) 'convert wei units to ether'
deployAllContracts() 'Deploy all the remaining contracts on the current network.'

To start:

await contract.info()