Blockchain and Smart Contract Fundamentals Roadmap

Understand how blockchains work and write, test and securely deploy simple Solidity contracts on a testnet.

10 milestones · ~144 hours total

  1. 1

    Cryptography and distributed systems basics

    ~12h

    Hash functions, public-key signatures, Merkle trees, consensus ideas and why double-spending is a problem.

    Practice this →
  2. 2

    How blockchains work

    ~10h

    Blocks, transactions, accounts, gas, nodes and the difference between proof of work and proof of stake.

    Practice this →
  3. 3

    Ethereum and the EVM

    ~10h

    Accounts vs contracts, the EVM model, storage vs memory, ABI and reading transactions on a block explorer.

    Practice this →
  4. 4

    Solidity fundamentals

    ~22h

    Types, functions, visibility, mappings, structs, events, modifiers and custom errors.

    Practice this →
  5. 5

    Development environment

    ~10h

    Hardhat or Foundry, local nodes, compiling, scripting deployments and using a test wallet safely.

    Practice this →
  6. 6

    Testing smart contracts

    ~14h

    Unit tests, fuzz tests, mainnet forking and checking events and revert reasons.

    Practice this →
  7. 7

    Token standards

    ~14h

    ERC-20 and ERC-721 using OpenZeppelin; understand allowances and what you should not rewrite yourself.

    Practice this →
  8. 8

    Common vulnerabilities

    ~16h

    Reentrancy, access control mistakes, integer handling, front-running and unsafe external calls, with the usual mitigations.

    Practice this →
  9. 9

    Connecting a frontend

    ~16h

    ethers.js or viem, wallet connection, reading state, sending transactions and handling errors in a React app.

    Practice this →
  10. 10

    Deploy a dApp to a testnet

    ~20h

    Deploy a small voting or crowdfunding contract with a UI to a testnet, verify the source and write down its threat model.

    Practice this →