Migrating to a new CLI version
To migrate to a new OpenZeppelin CLI version is generally a matter of upgrading the OpenZeppelin CLI and OpenZeppelin Upgrades versions.
$ npm upgrade @openzeppelin/cli @openzeppelin/upgrades
ZeppelinOS was renamed to OpenZeppelin CLI as part of rebranding the company and the projects. OpenZeppelin CLI and OpenZeppelin Upgrades were first released as version 2.5.0, to follow the ZeppelinOS versioning.
The CLI changed the name of the executable from
openzeppelin (or the alias
oz, if you prefer shorter names).
It also has all configuration files under a single
.openzeppelin folder, to avoid polluting your project’s root.
The version 2.5.0 release changelog describes all modifications in more detail.
However, all the previous namings are still supported, meaning that you don’t need to change anything on your project
when you migrate. You can still run
zos in your command line or scripts, and if a
zos.json is found at the root of your project,
the CLI will still pick it up. Also, the Ethereum Package
openzeppelin-eth will still be supported by the SDK, but you can opt-in
to the new
The only thing that will require a change on your end are import statements: for instance, if you are importing
zos-lib/contracts/Initializable.sol, you will now need to import
If you created a project using ZeppelinOS 2.0 or 2.1, and then decided to upgrade your ZeppelinOS dependency to 2.2,
you need to create and set up a
ProxyAdmin contract for each of the networks your project is deployed to.
Good news though! This can be done automatically by using the ZeppelinOS CLI.
To trigger the migration in a particular network, you need to start a session in it (or use the
--network myNetwork parameter)
and use any of the following commands:
publish. The CLI will prompt if you want to migrate your
deployment on that specific network you are interacting with, and will set up the ProxyAdmin contract automatically.
So you can go ahead and say yes, and the CLI will take care of the rest, to migrate you to ZeppelinOS 2.2.