0Pricing
Web3 & DApp Development Fundamentals · Lesson

Upgradeable Contracts

Proxy patterns.

The Immutability Problem

Deployed contract code cannot be changed. If you find a bug or need a new feature, the code is frozen at its address.

Upgradeable contracts work around this using a proxy pattern that lets you swap the logic while keeping the same address and data.

The Proxy Pattern

Upgradeability splits a contract into two parts:

  • Proxy — holds the state and a pointer to the logic; users interact with it.
  • Implementation — holds the code, no permanent state.

The proxy delegatecalls into the implementation, so logic runs against the proxy's storage.

All lessons in this course

  1. Why OpenZeppelin
  2. Access Control
  3. Token Extensions
  4. Upgradeable Contracts
← Back to Web3 & DApp Development Fundamentals