Skip to main content

Quests

Intro/Reference Reading#

Ethereum development environment for professionals by Nomic Labs

austintgriffith/scaffold-eth

Prerequisites#

[OPTIONAL] Watch Austin Griffith's talk on Ethereum!#

https://t.co/VjLCYiQySS?amp=1

Main Quests#

๐Ÿ›  Familiarize yourself with the Ethereum development ecosystem by building!

๐ŸŽ– Ethers.js#

  • Create a new NodeJS project and use ethers.js to create a keypair from a mnemonic and store it in a local file as a backup.

  • Extend your ethers.js script to sign a message using your private key, then use eth.build to verify (recover) the address.

    Key Pair - ETH.BUILD

  • Use the ether.js to display the balance of your account(s) and send in little testnet ETH.

    Signers

  • Write a script that checks the balance and sends half to one address and half to the other automatically.

๐Ÿ‘ทโ€โ™€๏ธ HardHat#

Try out HardHat just to get exposure to how it works

Ethereum development environment for professionals by Nomic Labs

๐Ÿ— Scaffold-ETH (Ethers + HardHat + React ++)#

  • Clone and install scaffold.eth by following the instructions in the repository.

    austintgriffith/scaffold-eth

  • Experiment with how YourContract works in the frontend.

  • Extend YourContract to only allow an Owner to update the "purpose".

  • Obtain a personal Ethereum node (RPC) endpoint with Infura and update "constants.js"

  • Turn YourContract into more of a "vending machine" by requiring msg.value to be 0.001 ether if someone wants to update the purpose. (Your function will need to be payable!)

  • Create a "Decentralized Bank" that uses a "mapping" to track balances of individuals and lets them withdraw and deposit. (Bonus points for using the "receive()" fallback function)

  • Create a "Todo List" on Ethereum (would be so expensive!) to learn how Arrays and Structs work.

  • Turn YourContract into YourToken (ERC20 using OZ inheritance)!

  • Deploy YourToken to a testnet and send it around.

  • Deploy a "VendingMachine" that will sell your tokens to buyers.

  • Create a "Market" that will buy and sell your token (provide liquidity).

  • Create a staking app that requires users to deposit YourToken by a certain timestamp and release the tokens if a threshold is not met.

Fun Side Quest (Intermediate)#

  • Build a bot sends a Nifty.ink (once minted from a burner wallet to a bunch of addresses)

Fun Side Quest (Advanced)#

  • Build a bot that catches a fish in Galleass.io (this requires commit/reveal)

Getting Help / What's Next?#

๐Ÿ’ฌ Have any questions or need help in going through the resources above?

๐Ÿš€ Looking for what to do next to dig deeper in Ethereum development?

Feel free to reach out to anyone here below!