August 2019
Intermediate to advanced
486 pages
13h 52m
English
There is no direct native support for upgradable contracts in Ethereum. This is because pure decentralization cannot be achieved if a contract is upgradable. Once contract code becomes immutable, then only you can trust that the code and its logic will never be changed. However, due to invisible bugs present in contracts, a lot of hacking has taken place; therefore, ZeppelinOS came up with upgradable contracts to avoid bugs in contracts, even if they have already been deployed.
ZeppelinOS should not be used until there is a real need for it. You should write immutable contracts to have pure decentralization for your applications. If you plan to upgrade your contracts in future, then you should consider using ZeppelinOS.
In the next ...