Blockchain & Smart Contracts (Solidity)
Learn blockchain and Solidity: the EVM and gas, contract design, ERC-20 and NFTs, upgrades, oracles, security and audits, Foundry testing and dApps.
What you'll learn
- Explain how blockchains, Ethereum accounts, the EVM, gas fees, keys and layer 2s work.
- Write Solidity contracts with correct types, data locations, functions, modifiers, events and errors.
- Design contracts with inheritance, interfaces, libraries, OpenZeppelin and role-based access control.
- Implement ERC-20, ERC-721 and ERC-1155 tokens, pull payments, upgradeable proxies and oracle integrations.
- Prevent reentrancy and other common vulnerabilities with secure patterns, fuzzing, invariants and audits.
- Test, deploy, verify and optimise contracts with Foundry and Hardhat, and connect dApp front ends with viem and wagmi.
Syllabus
Blockchain and Ethereum Foundations
Solidity Basics
Contract Design and Reuse
- Storage, Memory, Calldata and Transient Storage
- Inheritance, Interfaces, Abstract Contracts and Libraries
- OpenZeppelin and Access Control
Token Standards
Ether, External Calls and Upgrades
Smart Contract Security
- Reentrancy and Checks-Effects-Interactions
- Common Vulnerabilities
- Security Process: Testing, Tools and Audits
Development Tooling and Deployment
- Foundry: forge, cast and anvil
- Hardhat, ethers.js and viem
- Deploying, Verifying and Operating Contracts