ZeppelinOS March 2019 development update

Hey folks! Having finished March, we wanted to share with you what we have been working on for the past month. This has been a very active month, with part of the team at EthCC, an alpha release of the upcoming 2.3.0, a company-wide retreat, a live coding workshop in NYC, bugfixing, and more. But without a doubt the best news is that @ylv-io has joined the ZeppelinOS team - we are happy to have him on board!!

You can check out the previous development updates here: February, January.

Audit of Gas Station Network

As part of our alliance with the TabooKey team, @ajsantander has been auditing the Gas Station Network contracts. Our goal is to build together a decentralized gas station network that can be used to remove the barriers of entry for end-users to the Ethereum ecosystem. We will be publishing our findings soon, and keep working together with the TabooKey team to arrive to the best possible solution!

Improved CLI commands

@jcarpanelli has kept up working heavily on reworking the commands to be more user friendly, and guide the user throughout the process instead of requiring several flags to be set in the right combination (though the flags will remain for backwards compatibility and automated scripts support). Here is a sneak peek on how the zos create command will work now: it will automatically add and push it if needed, will provide a handy list of all contracts found in the current project to pick from, and guide you through the initialization process as well.

We will be releasing this as part of 2.3.0 during April!

Hot code loader and more on Zepkit

@ylv-io has worked on multiple improvements to Zepkit: a hot code loader, a linter, and a set of unit tests to use as a basis to kickstart your development.

The hot code loader is definitely the most impressing piece: by using ZeppelinOS behind the scenes, this webpack plugin keeps track of all your code changes, recompiles whenever a Solidity file has been modified, and runs zos update to update all instances of that contract to the latest version. This means that you can keep working with the same addresses and the same state even as you change your code! This is only enabled on development networks - go ahead and give it a shot!

We will be releasing a new version of Zepkit including this feature soon!

Version 2.2.2 released

We released a patch for version 2.2 with several bugfixes and improvements, including listing Goerli as a recognized network by ZeppelinOS (it will no longer appear as dev-5!), with special thanks to community members @paulinablaszk and @siromivel who contributed to this release. Check out the release notes here.

CREATE2 command on 2.3.0-alpha

We also released an alpha version of the upcoming 2.3.0. You can start playing with the new zos create2 experimental command to reserve an address for deployment. You can use this to “park” an address for deploying a contract, allowing your users to interact with it (by sending funds, for instance), and then perform the actual deployment when ready.

We are working on a few more improvements on this feature to make it play along nicely with meta-transactions, plus an audit from our friends from Nomic Labs to ensure the code is secure, so stay tuned!

What’s next

We plan on releasing the upcoming 2.3.0 during April, with full support for interactive commands and zos create2. We will keep working on improving the developer experience, by adding new commands to support running arbitrary transactions and calls directly from the zos command line (without needing to drop into a full js console), and improving the output of the tool. We will also keep our involvement in the gas station network, by contributing to the TabooKey code both in development and review.

We will also be assisting Edcon next week in Sydney, so make sure to look for @Dennison and @martintel if you are there and say hi to them!

Happy coding!