📚 prerequisites: You need to know how to write javascript!
-
day 1: intro %TODO% - %%% we'll come back to this and fill in whatever details we need to cover up front %%%
discussions: Blockchains, decentralization, Unstoppable apps, money/incentives at the protocol, coordination
Redundancy, Censorship resistance, web3 cron jobs are different, trust (escrow is a good way to explain)
simple to code, composability, compounding pace
apps: what are people building? NFT, DEFI, DAOS - disclaimer: some garbage
gotchas: expensive, mnemonic lost means everything lost, chain is hard to parse, apps are centralized, so much noise
future: building coordination games for nation states - funding public goods - radical markets?
-
day 2: wallets, "an account is just a big number you pick"
private key in eth.build, learn how to keep a mnemonic safe
learn how to send eth, learn how to use etherscan
setup a metamask and drop testnet/ETH to everyone to send around
-
day 3: Get an ENS (talk about identity), swap to a stable coin (talk about DEXs and stables)
notice how your ENS follows you to Uniswap and you can see your stables in zapper
where is this going? DIDs/cermaic/Lens
-
day 4: NFT day! Buy and trade NFTS, maybe use an NFT to token gate a chat? POAPs!
IPFS and offchain storage - maybe graph?
SVG NFTs!
Mint an NFT - learn whats minting
-
day 5: DAOs, multsigs, wallet connect
-
day 1: simple script to talk to providers, get balance - RPCs
providers, signers, wallets, basics of ethers.js
formatEther, parseEther!!
running your own local hardhat node
-
day 2: sending transactions
discussions about: gas prices, mempool, front-running
-
day 3: interacting with contracts
-
day 4: parsing blocks to find all transactions from an account (Indexer!)
leads you to graph and/or running your own geth node
-
day 5: advanced: sign, recover, encrypt, and decrypt
-
day 1: Start with Remix and show smart contracts from the browser - learn how to tinker
high level: Massive multiplayer programmable vending machine - remember: unstoppable apps, design incentives
discussions about: solidity syntax, storage vs events, require, mappings, paybable functions
(solidity by example copy pasting like crazy!)
-
day 2: SpeedRunEthereum.com - Challenge 0 - NFT deployed to testnet
-
day 3: SpeedRunEthereum.com - Challenge 1 - Staking app
-
day 4: SpeedRunEthereum.com - Challenge 2 - Token Vendor
-
day 5: Choose your own adventure: DEX, multisig, or SVG NFT
-
day 1: open/social call to cover:
final concepts and questions
ideation and team forming
-
day 2-4: checkins, office hours
-
day 5: show off what you built!
Success tier 1: Get hired as a junior with your Speed Run portfolio... build things and show them off on twitter! (here is a good "next steps" thread: https://twitter.com/austingriffith/status/1478760479275175940?s=20&t=0zGF8M_7Hoeuy-D6LDoFpA)
Success tier 2: Build your own product or start building forkable examples and tutorials for the ecosystem (Go learn something and then leave the camp site better than you found it. Help the next dev learn what you learned, but easier.)
Success tier 3: Go crush some of the harder challenges like the ethernaut, read through previous audits, start auditing yolos from the BG, get introduced to audit firms and folks within our network that are at the cutting edge with solidity auditing...