Hi, I would like some help in understanding proxied and upgradeable contracts. If the implementation contract has a proxy (let's say it's using the UUPS proxy pattern), what would be the difference between using the @openzeppelin/contracts
and the @openzeppelin/contracts-upgradeable
libraries? Isn't the proxy used to delegate calls to the implementation contract, which should allow the implementation contract to be changed/upgraded?
Hey!
I believe the main difference is handling how the contracts are deployed. In upgradable contracts, you have to shift from the constructor
to the initialize
function. Read more:
1 Like
Hi, I'm facing similar issues, to check out this link. What's the difference between upgradable and non upgradable Initializable contracts? Aren't all proxies meant to be support upgradable implementation contract?