/web2-to-web3-curriculum

The journey from 0 to hero for any developer to learn web3 and building on Ethereum.

👩‍💻 web2 to web3 🚀

🖍 a curated, free, and open-source web3 curriculum

📚 prerequisites: You need to know how to write javascript!


Week 1 - 👩‍🔬 Becoming A Power User

  • 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


Week 2 - 👩‍🚀 Scripting and Deeper Concepts

  • 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


Week 3 - 🧙‍♀️ Smart Contracts / Solidity - Building Dapps - SRE

  • 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


Week 4 - 🚢 Build Your Own Project

  • 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...