A complete, end‑to‑end learning repository that takes developers from Solidity fundamentals through advanced smart‑contract engineering and production security practices. It includes 24 Solidity modules with explained examples and exercises, a full Foundry workbook covering testing, fuzzing, invariants, and deployment workflows, plus ready‑to‑run Foundry scaffolds and capstone projects. The goal is to move from beginner concepts to professional, audit‑ready development habits in one structured path.
- Smart contract developers
- Web3 / DeFi / NFT builders
- Auditing and security learners
- Blockchain engineers
- Read the module README for the concept overview and exercises.
- Open the module contract file and read the inline comments.
- Implement the exercises directly in the module contract or create a separate
Solutions.solfile. - Use Remix for quick learning or Foundry for testing and scripting.
- Remix IDE for fast, in-browser compiling and deployment.
- Foundry for tests, scripts, and local development.
- Hardhat if you prefer a JavaScript-first workflow.
module-01-introduction/module-02-basics/module-03-value-types/module-04-reference-types/module-05-structs/module-06-enums/module-07-functions/module-08-modifiers/module-09-constructors/module-10-errors/module-11-ether-payable/module-12-storage-memory/module-13-events/module-14-inheritance/module-15-interfaces/module-16-libraries/module-17-low-level/module-18-reentrancy/module-19-gas-optimization/module-20-testing/module-21-upgradeability/module-22-standards/module-23-patterns/module-24-auditing/capstone/
A complete Foundry track is included in foundry-workbook/ with 20 modules that cover testing, fuzzing, invariants, and production workflows.
foundry-workbook/module-01/foundry-workbook/module-02/foundry-workbook/module-03/foundry-workbook/module-04/foundry-workbook/module-05/foundry-workbook/module-06/foundry-workbook/module-07/foundry-workbook/module-08/foundry-workbook/module-09/foundry-workbook/module-10/foundry-workbook/module-11/foundry-workbook/module-12/foundry-workbook/module-13/foundry-workbook/module-14/foundry-workbook/module-15/foundry-workbook/module-16/foundry-workbook/module-17/foundry-workbook/module-18/foundry-workbook/module-19/foundry-workbook/module-20/
A minimal Foundry scaffold is included so you can start testing immediately.
- Install Foundry if needed.
- Install
forge-stdwithforge install foundry-rs/forge-std. - Run
forge testfrom the project root. - Use the
src/WorkbookExample.solandtest/WorkbookExample.t.solas a template. - See
foundry-workbook/module-02/README.mdfor complete installation guide.
- The module contracts live in
module-xx-*folders. - If you want to test a module with Foundry, copy it into
src/or update the Foundry config to point at your chosen module folder.
Build a production-ready contract system with:
- Structs and mappings
- Access control
- Events
- Security protections
- Tests
- Documentation
- ERC20 token
- ERC721 token
- ERC1155 token
- ERC721Enumerable token
- ERC721Metadata token
- ERC721Burnable token
- ERC721Pausable token
- ERC721Receiver token
- ERC165 token
- ERC173 token
- ERC1820 token
- ERC1822 token
- ERC1826 token
- ERC1827 token
- ERC1828 token
- ERC1829 token
- ERC1830 token
- ERC1831 token
- ERC1832 token
- ERC1833 token
- Do one module per day and keep a changelog.
- Re-implement exercises from memory.
- Add tests as you learn new patterns.