Transparent Proxy Pattern and Storage Layout
Learn the Transparent Proxy pattern, how delegatecall separates logic from storage, and the storage layout rules you must follow to upgrade contracts safely.
Recap: Why Proxies
You have seen UUPS and the Diamond standard. Both rely on a foundational idea: a proxy holds the storage and forwards calls to a separate logic (implementation) contract. Upgrading means pointing the proxy at new logic.
How delegatecall Works
The magic behind proxies is delegatecall. It runs the logic contract's code but in the proxy's storage context, using the proxy's msg.sender and balance.
So storage lives in the proxy; behavior lives in the implementation.
All lessons in this course
- Why Upgradeable Contracts?
- UUPS Proxy Pattern Implementation
- Diamond Standard (Multi-facet Proxies)
- Transparent Proxy Pattern and Storage Layout