Proxies

cmichel:

Proxies: Ethereum contracts are not upgradeable. If you want to update the code, you need to deploy a new contract. However, that means that the storage which still resides in the original contract is also lost. Thus proxies implement the idea to separate the storage from the logic. There are many different proxy implementations, have a look at the OpenZeppelin Proxy. You should understand how delegatecall is essential for building proxies.

For learning proxy patterns I recommend reading OpenZeppelin first (we have done this in Secureum Epoch 0) and then going through yAcademy's proxies research.

Last updated