Solidity Curriculum (2025 Edition): From Beginner to DeFi-Ready

Published on May 28, 2025 β€’ blockchain, defi, dapp, ethereum

This is a comprehensive, modern, production-grade Solidity development curriculum for 2025. It’s designed for beginners who want to go from zero to building and understanding real-world protocols like Uniswap V4, Compound, and Aave - with all the best practices, tools, and standards used by elite teams.


🧱 Phase 1: Ethereum & Solidity Foundations (Week 1-2)

🎯 Objectives

  • Understand how Ethereum works
  • Learn Solidity syntax and smart contract structure
  • Build and deploy simple contracts

πŸ“˜ Topics

  • Ethereum, EVM, accounts, transactions, gas
  • Basic Solidity types: uint, address, bool, string
  • Functions: view, pure, payable
  • Control flow, require, revert, msg.sender

πŸ›  Tools

πŸ§ͺ Projects

  • Hello World contract
  • Counter (increment/decrement)
  • Simple ETH Wallet (deposit/withdraw)
  • ETH Forwarder (send ETH to recipient)

βš™οΈ Phase 2: Foundry + Best Practices (Week 3-4)

🎯 Objectives

  • Set up a professional dev environment
  • Write clean, gas-efficient, testable code

πŸ“˜ Topics

  • Foundry CLI: forge, cast, anvil
  • constructor, modifier, event, error
  • immutable, constant, storage vs memory vs calldata
  • Test-driven development

πŸ§ͺ Projects

  • Rewrite Counter using Foundry
  • Add test coverage and gas reporting
  • Add custom errors and events
  • Automate local testing and deploy to testnet

πŸ” Phase 3: Access Control & Security Patterns (Week 5)

πŸ“˜ Topics

  • Ownable and onlyOwner pattern
  • Role-based access control (RBAC)
  • ReentrancyGuard and nonReentrant
  • Circuit breaker and Pausable contracts

πŸ§ͺ Projects

  • Create Ownable contract
  • Add access control to Wallet
  • Write a Reentrancy-protected Vault
  • Build a Circuit Breaker token transfer system

πŸͺ™ Phase 4: Tokens (ERC-20, ERC-721, ERC-6909) (Week 6-7)

πŸ“˜ Topics

  • ERC-20: balances, transfer, approve
  • ERC-721: NFTs, metadata, safe transfers
  • ERC-6909: new minimal multi-token standard
  • EIP-2612: permit() and gasless approvals

πŸ” Libraries

πŸ§ͺ Projects

  • Implement minimal ERC-20 and compare gas to OpenZeppelin
  • Mint your own NFT and interact with MetaMask
  • Add permit() functionality using EIP-2612
  • Create ERC-6909 multi-token vault

🌊 Phase 5: Real Protocols - Uniswap V3/V4, Compound, Aave (Week 8-9)

πŸ“˜ Topics

  • Uniswap V3: Concentrated liquidity, ticks, oracles
  • Uniswap V4: Singleton pattern, Hooks as plugins
  • Lending protocols: borrowing, interest, collateral
  • Vaults and strategies (e.g., Yearn)

πŸ§ͺ Projects

  • Clone Uniswap V3 Pool and simulate a swap
  • Write and deploy a Uniswap V4 Hook (e.g., fee redirect)
  • Build a simple lending pool with deposit, borrow, repay
  • Create an auto-compounding vault with user deposits

πŸ§ͺ Phase 6: Testing, Fuzzing, and Auditing (Week 10)

πŸ“˜ Topics

  • Unit & integration testing with Foundry
  • Fuzz testing with forge test --fuzz
  • Invariant testing
  • Static analysis tools: Slither, MythX
  • Reading audit reports (Trail of Bits, Code4rena)

πŸ§ͺ Projects

  • Write invariants for your lending pool
  • Fuzz test swap logic from Uniswap clone
  • Run Slither and fix contract vulnerabilities
  • Review and improve based on a real audit

πŸš€ Capstone Project (Week 11-12)

Pick one:

  • βœ… Build a custom Uniswap V4 Hook
  • βœ… Create a royalty-enabled NFT auction house
  • βœ… Launch a DAO with on-chain voting and treasury
  • βœ… Design a token streaming protocol using ERC-6909

Deliverables

  • Solidity contracts (fully tested)
  • Deployment scripts (Foundry + cast)
  • Documentation and architectural diagrams
  • Optional: frontend with viem, wagmi, and Next.js

πŸ“š Resources

AreaResource
Solidity LanguageSolidity Docs
Testing & DevFoundry Book
Contracts & PatternsOpenZeppelin, Solmate
Uniswap V3+V4Uniswap V3 Whitepaper, Uniswap V4 Draft
Security & AuditsTrail of Bits Audits, Secureum Bootcamp