30 Days of Solidity
Master smart contract development in 30 days
Build 30 smart contracts in 30 days. Each day brings a new challengeβwrite the code yourself, then unlock the solution and walkthrough.
Before You Start
Two quick things you'll need
GitHub Account
You'll submit your solutions here and build a public record of all 30 contracts.
Sign UpFork the Submissions Repo
Fork this repository to your account. Each day you'll add your solution and open a pull request.
Fork RepositoryHow It Works
Same process every day
Read the challenge
Each day starts with a new contract challenge. You'll see what to build and which concepts you'll learn.
Write the code
Build the contract yourself using our embedded code editor. Try to solve it before looking at hints.
Submit your solution
Add your contract to the submissions repo and open a pull request. Build your public portfolio.
Unlock the walkthrough
After you've tried it yourself, unlock the video tutorial and solution code to see how it works.
Submitting Your Work
Build a public record of your progress
After forking the submissions repo, create a folder with your name inside submissions/. Each day, add your contract to submissions/your-name/day-N/ and open a pull request.
What You'll Learn
From basics to production-ready contracts
Fundamentals
Days 1β7Variables, state, functions, events, mappings β the raw building blocks every Solidity dev needs cold.
Intermediate
Days 8β13Inheritance, interfaces, modifiers, and contract-to-contract calls. Thinking in systems.
Advanced
Days 14β20Upgradeable proxies, gas optimisation, re-entrancy guards, and storage layout.
Real-World
Days 21β30DeFi, NFTs, DAOs, oracles, and a mini-DEX capstone. Concepts you'll hit on mainnet.
Ready to start?
Start your Solidity Development Journey