Upgradeable Smart Contracts Made Easy

Upgradeable smart contracts are a desirable design practice given today’s extremely important and ever-changing landscape for smart contract security. In this article, we deploy a plain ERC20 contract, and later upgrade it to a mintable token contract to allow for the functionality of minting new tokens.

However, it is important to keep in mind that there are some key design principles to be followed while coding such contracts. On the surface, smart contract upgradeability may seem like a pretty cool feature to have. However, it violates a fundamental property of…