๐Ÿƒโ€โ™€๏ธEthereum Dev Speed Run

๐Ÿ™‡ a web3 quick start for developers

Austin Thomas Griffith
3 min readJul 30, 2021

๐Ÿฅ Start by tinkering with Solidityโ€ฆ

Grab ๐Ÿ— Scaffold-ETH and learn how to iterate on YourContract.sol.

As you edit your smart contract, your frontend adapts to new functions and storage elements.

๐Ÿ“š Look through each concept from solidity-by-example (copy and paste into YourContract.sol and experiment!).

๐Ÿ—„ There are hundreds of example branches of ๐Ÿ— Scaffold-ETH:

๐ŸŽŸ Try out the simple-NFT-example branch (follow the readme!):
https://github.com/scaffold-eth/scaffold-eth-challenges/tree/challenge-0-simple-nft

๐ŸŽซ Try making a small change to the NFT contract, maybe add a price function?

๐Ÿค“ Looking for a TypeScript version of ๐Ÿ— scaffold-eth? Check out https://github.com/scaffold-eth/scaffold-eth-typescript

๐ŸŽ– Ready to test your basic Solidity skills?

๐Ÿšฉ Challenge 1: Decentralized Staking App: https://github.com/scaffold-eth/scaffold-eth-challenges/tree/challenge-1-decentralized-staking#-scaffold-eth---buidlguidl

๐Ÿšฉ Challenge 2: Token Vendor: https://github.com/scaffold-eth/scaffold-eth-challenges/tree/challenge-2-token-vendor#-scaffold-eth---buidlguidl

๐Ÿ… Extra credit if you build your token vendor to buy tokens back and experience the approve pattern for ERC20s.

โ›‘ Learning the syntax of Solidity is easy, but getting the mental model for building on web3 takes time.

๐Ÿ˜… You will need to build a few things just to learn how the EVM works and all the โ€œgotchasโ€.

โš–๏ธ Build and understand a simple DEX: https://medium.com/@austin_48503/%EF%B8%8F-minimum-viable-exchange-d84f30bd0c90

๐Ÿง™โ€โ™‚๏ธ PRO TIP: fork the ๐Ÿ— scaffold-eth master branch and build a DEX using the article above as a guide.

๐Ÿ˜ต Randomness is really tricky on a public, deterministic blockchain. Dig in and understand whyโ€ฆ

๐Ÿธ You can use an โ€œoracleโ€ to provide randomness and external data too: https://github.com/austintgriffith/scaffold-eth/tree/chainlink-tutorial-1

๐Ÿ“‚ Play around with the commit/reveal pattern: https://github.com/austintgriffith/scaffold-eth/tree/commit-reveal-with-frontend

๐ŸŽฒ Try out this dice game and then build a smart contract so you only pay for rolls that you will in: https://github.com/scaffold-eth/scaffold-eth/tree/dice-game

โš”๏ธ Side Quest: deep dive bonding curves for ERC20s: https://github.com/austintgriffith/scaffold-eth/tree/bonding-curve

๐Ÿ‘‰ Try out this <Swap/> tutorial where we build a Uniswap interface: https://azfuller20.medium.com/swap-with-uniswap-wip-f15923349b3d

๐Ÿ’ธ Lending is critical to DeFi. Tinker with the <Lend/> component: https://azfuller20.medium.com/lend-with-aave-v2-20bacceedade

๐Ÿฆ Ape into learning! https://azfuller20.medium.com/aave-ape-with-%EF%B8%8F-scaffold-eth-c687874c079e

๐Ÿ”– Learn about signed messages: https://github.com/austintgriffith/scaffold-eth/tree/signature-recover

๐Ÿง‘โ€๐Ÿญ Learn how signed messages can be used off-chain as a โ€œsign in with Ethereumโ€: https://github.com/austintgriffith/scaffold-eth/tree/sign-in-with-web3

๐Ÿ“ก Use that same signed message on-chain with ecrecover() or OpenZeppelinโ€™s ECDSA lib to recover a signed message in Solidity: https://github.com/OpenZeppelin/openzeppelin-contracts/blob/master/contracts/utils/cryptography/ECDSA.sol

๐Ÿ‘› Learn about and build a multi-sig wallet that uses signatures: https://github.com/austintgriffith/scaffold-eth/tree/meta-multi-sig

โš”๏ธ Side Quest: Extend it into a โณ streaming multi-sig: https://github.com/austintgriffith/scaffold-eth/tree/streaming-meta-multi-sig

๐Ÿ‘ฉโ€๐Ÿ‘ฉโ€๐Ÿ‘งโ€๐Ÿ‘ง Extend the mult-sig branch and create a DAO where members โ€œvoteโ€ on proposed transactions!

๐Ÿฆ‰ Try out the Gnosis Safe starter kit to build an experience around a Safe: https://github.com/scaffold-eth/scaffold-eth/tree/gnosis-safe-app-starter-kit

๐Ÿ”ญ Study the hacks on solidity-by-example and try to reproduce them locally.

๐Ÿง‘โ€๐ŸŽค Fork punkwallet.io from the source code here: https://github.com/scaffold-eth/scaffold-eth/tree/punk-wallet

๐ŸŸข Fork this SVG NFT and make your ownโ€ฆ check out the SVG and JSON getting rendered by this smart contract: https://github.com/scaffold-eth/scaffold-eth/blob/loogies-svg-nft/packages/hardhat/contracts/YourCollectible.sol#L100

๐Ÿ”ด Check out this same SVG NFT but on Optimism L2: https://github.com/scaffold-eth/scaffold-eth/tree/optimistic-loogies-master

โœ๏ธ Fork signator.io from the source code here: https://github.com/scaffold-eth/scaffold-eth/tree/signatorio

๐ŸŽจ Fork nifty.ink from the source code here: https://github.com/BuidlGuidl/nifty-ink

๐Ÿฆธ Jump in the Discord and Github of your favorites projects in the space!

๐Ÿ„โ€โ™‚๏ธ Build something cool and show it off on Twitter! (tag @austingriffith !)

๐Ÿด Fork one of the branches and build something weird! ๐Ÿ„

๐Ÿ’ช Join the ๐Ÿฐ Buidl Guidl and get ETH streamed to you for building!!!

๐Ÿง‘โ€๐Ÿš€ Interested in building coordination experiments? Join the ๐Ÿš€ MoonshotCollective!

๐Ÿ™‹โ€โ™‚๏ธ Hit us up in chat if you have any questions: https://t.me/joinchat/KByvmRe5wkR-8F_zz6AjpA

๐Ÿ›  BUIDL

--

--