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/pure via eth_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.