Hey everyone! It’s time for the April development update of ZeppelinOS. We have published the release candidate for version 2.3, which includes some really awesome usability improvements as well as exciting new features. We have also been working closely with the Tabookey team to push forward the Gas Station Network, which will be deeply integrated in the upcoming versions of the entire Zeppelin platform.
Long gone are the days where you needed to run a
zos command with half a dozen flags, or needing to
push your contract before
createing them. Thanks to the amazing work by @jcarpanelli, the
zos CLI will now guide and walk you though the actions that you want to run via a set of interactive prompts.
verify are now all interactive, and the remaining ones are coming soon! We will be releasing this as part of version 2.3.0.
New unpack command
Earlier this year we released Zepkit, a starter box for building DApps using ZeppelinOS, OpenZeppelin, Truffle, Infura, and React. We are now adding a new
zos unpack command that can be used to bootstrap a new project on not only Zepkit, but any compatible starter box.
Any repository with a
stable branch and a
kit.json manifest file can be used to kickstart a project using
zos unpack. This opens up the game for the entire community to build their own starter boxes! Kudos to @ylv-io for the great work on this command.
Revamped set-admin command
With version 2.2 we released the new ProxyAdmin component, which acts as the upgradeability admin of the entire ZeppelinOS application. @ylv-io has modified the
zos set-admin command so, instead of changing the admin of a single contract, it allows you to change the admin of this central ProxyAdmin. This enables you to move the entire management of upgradeability of your project in a single transaction!
We will be updating our upgradeability governance guides to reflect this new feature.
CREATE2 command with meta-txs support
During March we worked on a new experimental
zos create2 command that uses the CREATE2 opcode to reserve a deployment address. By choosing a salt value,
zos determines a unique deployment address given your address and the salt, which can be used to deploy any contract to that address at any point in the future.
Last month we added support for signatures in this command. Instead of having an address execute the
zos create2 command to determine the deployment address, now any user can just sign a request for a deployment, and any other address can run the
create2 command on their behalf. This will use the signer account for calculating the deployment address, instead of the actual sender.
This effectively enables a relayer to submit a transaction on behalf of a user to deploy a contract at a predetermined address. This opens the door to some very interesting user onboarding flows, such as the one that @chris.whinfrey and @jamesyoung have been working on. We will share more news on this soon!
Gas station network collaboration
We are really excited about the possibilities that the gas station network will open up for new user onboarding flows. We have already seen it at work during EthDenver on the Burner Wallet, and the experience was great!
Version 2.2.3 released
Last but not least, we released a new patch for version 2.2 with a bugfix for
zos-lib. Make sure to upgrade your code to the latest version!
During the upcoming days we will be shipping a release candidate for version 2.3 with the new interactive flows, and the new
zos unpack and
create2, and updated
Meanwhile, we are working on adding new capabilities to the
zos CLI, to make it easy to send arbitrary transactions and calls to your contracts directly from the command line. We will also be keeping the work on the gas station network alliance moving forward.
Part of our team will also be at EthNYC, so make sure to look for folks wearing Zeppelin t-shirts there!