Roadmap › Blockchain & Web3 Fundamentals › Module: Ethereum in Depth
Lessons in this course (15)
6. Smart contracts and the EVM
Intermediate★ Must knowLesson 6 of 15
A smart contract is a program deployed on the blockchain that runs exactly as written: it holds state (storage), exposes functions, emits events, and can hold and move funds. The EVM (Ethereum Virtual Machine) is the deterministic, sandboxed, stack-based VM that executes contract bytecode on every node.
- Languages: Solidity (most common), Vyper (Pythonic), Yul (low-level).
- Compiled to bytecode + an ABI (Application Binary Interface — JSON describing functions/events, used by clients to encode calls).
- Read calls (
view/pureviaeth_call) are free and don't create transactions; writes require a signed transaction and gas. - Immutability: code can't be changed after deployment — upgrades use proxy patterns (Transparent, UUPS) with an admin, which reintroduces trust.
- Contracts can't fetch off-chain data themselves → oracles.
- EVM-compatible chains: Polygon PoS, BNB Chain, Avalanche C-Chain, and layer 2s (Arbitrum, Optimism, Base, zkSync, Scroll, Linea).
The full Solidity course is next in this track.