0PricingLogin
Blockchain Smart Contracts with Solidity · Lesson

Diamond Standard (Multi-facet Proxies)

Explore the Diamond Standard (EIP-2535) for building highly modular and scalable upgradeable contracts with multiple facets.

Intro to Diamond Standard

Welcome to the final lesson on upgradeable contracts! We've explored UUPS, but what if your contract grows too big or needs extreme modularity?

The Diamond Standard (EIP-2535) is a powerful pattern that allows a single proxy contract to delegate calls to multiple implementation contracts, called facets.

Single Proxy Limitations

Traditional proxy patterns, like UUPS or Transparent proxies, typically delegate all calls to a single implementation contract.

While effective, this can lead to:

  • Contract Size Limit: Ethereum contracts have a 24KB limit. A single, monolithic implementation can hit this quickly.
  • Complexity: A single contract managing many features becomes hard to maintain and audit.
  • Upgrade Costs: Upgrading means redeploying the entire large implementation contract, even if only a small part changed.

All lessons in this course

  1. Why Upgradeable Contracts?
  2. UUPS Proxy Pattern Implementation
  3. Diamond Standard (Multi-facet Proxies)
  4. Transparent Proxy Pattern and Storage Layout
← Back to Blockchain Smart Contracts with Solidity