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
vsmemory
vscalldata
- 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
andonlyOwner
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
, andNext.js
π Resources
Area | Resource |
---|---|
Solidity Language | Solidity Docs |
Testing & Dev | Foundry Book |
Contracts & Patterns | OpenZeppelin, Solmate |
Uniswap V3+V4 | Uniswap V3 Whitepaper, Uniswap V4 Draft |
Security & Audits | Trail of Bits Audits, Secureum Bootcamp |