Intro/Reference Reading
Ethereum development environment for professionals by Nomic Labs
Prerequisites
- Understand Ethereum FundamentalsETH.BUILD
- Get and send around some testnet ETH:Networks | ethereum.org
- Basic proficiency in Javascript and NodeJS
[OPTIONAL] Watch Austin Griffith’s talk on Ethereum!
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!
- [Highly Recommended] Austin Griffith (https://twitter.com/austingriffith)
- Scott Moses Sunarto (https://twitter.com/smsunarto)