Solidity
Full course · 21 lessonsSolidity is the primary programming language for writing smart contracts on Ethereum and EVM-compatible blockchains. It enables decentralized applications, DeFi protocols, and NFTs — the backbone of Web3.
Getting Started with Solidity
Remix IDE, contracts, and first deploy.
Value Types
uint, int, address, bool, and bytes.
State Variables and Storage
Storage, memory, and calldata.
Functions and Modifiers
Visibility, view/pure, and custom modifiers.
Events and Logging
Emit events for off-chain listeners.
Errors and Require
require, revert, assert, and custom errors.
Mappings and Structs
Key-value storage and structured data.
Constructors and Inheritance
Initialize contracts and build hierarchies.
Ether and Payable Functions
Send, receive, and track ether.
ERC-20 Token Standard
Build a standard fungible token.
ERC-721 NFTs
Non-fungible tokens and ownership.
DeFi and DEX Patterns
Liquidity pools and swap mechanics.
Security: Reentrancy
Reentrancy attacks and checks-effects-interactions.
Security: Overflows and Front-running
Arithmetic safety and MEV awareness.
Gas Optimization
Reduce deployment and execution costs.
Libraries and Interfaces
Reusable library code and contract interfaces.
Upgradeable Contracts
Proxy patterns and upgradeability.
Testing Smart Contracts
Write tests with Foundry and Hardhat.
Hardhat Development Workflow
Deploy, verify, and interact from scripts.
Oracles and Real-World Data
Bring off-chain data on-chain.
Ecosystem and Next Steps
Mainnets, DAOs, and production readiness.

