Using the AdminUpgradeabilityProxy

Hi, wonder if anyone can share an example of a truffle migrations file for deploying an implementation contract followed by an AdminUpgradeabilityProxy contract. For our use case we would also have some arguments for the constructor (initialize) function in the implementation contract…

Cheers!

3 Likes

If you have a look at the following sample project:

Let me know if you need more information. Also feel free to share your migration JavaScript to the community.

2 Likes

Thanks for that. I will try it out very soon.

Are there any examples of implementing the AdminUpgradeabilityProxy directly without using zos? I can see that most of the previous live mainnet examples I saw were doing this with the older versions of the Zeppelin contracts…

Cheers

2 Likes

We strongly discourage its standalone usage, so don’t have any examples of this. These are complex systems and manual operation is error prone, thus unsafe.

Can you advise why you want to use it outside ZeppelinOS?

2 Likes

Hi @abcoathup, I guess the main reason would be that all the major live examples that we have seen out in the wild on the mainnet have been using the Zeppelin upgradeability patterns before ZeppelinOS came about. Am I correct in that assumption? or do we have many projects now switching to full ‘zos’ mode using that system to manage all the complexity of the upgrades?

Thanks again!

1 Like

Centre used ZeppelinOS contracts for upgradeability.

Our recommendation is to use ZeppelinOS for management of upgrades.

ZeppelinOS automates several processes and security checks for you when running upgrades. For instance, the CLI will automatically detect storage collisions when upgrading.

2 Likes

Thanks @abcoathup. We’ll try and see if we can get everything running using the ZeppelinOS commands. I believe we had some issues earlier but let’s see if we can resolve them now…

Cheers
Rick

2 Likes

@roy.batty let us know if you have any issues and we can help resolve them.

There is also a release candidate for version 2.3 see the April development update

3 Likes