Hey everyone! This is going to be a short development update, compared to previous one. Most of our work during June went towards wrapping up and releasing version 2.4:

This version is a continuation of 2.3 in terms of major improvements to developer experience. We rethought and rebuilt all outputs presented by the CLI, so only the info that actually matters is presented. We also added four new commands for interacting with your contracts directly from the command line, and added direct integration with the solidity compiler (both native and js versions), so you don’t have to go through truffle if you don’t want to. And as the cherry on top, you can also create EIP1167 minimal proxies with this version!

Nevertheless, there are a few other things that kept us busy during June.

Brand new quickstarts

We have completely rewritten our starting guides in the ZeppelinOS documentation, making full use of the improved CLI interface introduced in versions 2.3 and 2.4. You can now find:

Your first project , which will guide you to setting up your ZeppelinOS project, and deploying and updating a simple contract using the CLI.

, which will guide you to setting up your ZeppelinOS project, and deploying and updating a simple contract using the CLI. Interacting with your contracts , that presents code samples to interact with the contracts deployed in the previous tutorial using web3.js.

, that presents code samples to interact with the contracts deployed in the previous tutorial using web3.js. Linking OpenZeppelin contracts, that shows how to link contracts from the openzeppelin-eth EVM package into your project, and builds a more interesting project with two interconnected contracts, while introducing concepts like initializers and migrations.

We will keep working on the docs during the upcoming weeks. Let us know if there is anything in particular you’d like to see!

Web3 provider library

While ZeppelinOS today is mostly a CLI for contract management, our vision has always been to help in Ethereum development all across the stack. We are now making our first steps towards building a library for making development easier in a DApp’s frontend. And we intend to begin by easing the pain of setting up a web3 provider to connect to the network:

Web3 Provider Library General Greetings! We’ve been thinking how we can improve Ethereum developer experience and one of the pain points we came across is interaction with Web3 providers. We would love to receive feedback on that proposal from the community, especially from @mortimr, @asselstine, @ianbrtt, @scammi, @paulinablaszk, @rstormsf, @obernardovieira! Web3 Provider API this product is for Ethereum Developers who need an easy and reliable way to manage Web3 providers this implementation hides various providers beh…

Check out that awesome post by @ylv-io on the design for the upcoming web3 provider library, and make sure to add your two cents there. This way, we can take your needs into account when building this new component of the ZeppelinOS family!

Gas station network

We remain fully committed to launching the gas station network during the upcoming month. We wrapped up an internal audit of the code that we shared with the tabookey team, and @nventuro from the openzeppelin team has been collaborating in further improving the contracts.

Expect some news on the GSN real soon!

Official forum launch

Since its launch in January this year, the forum has been in beta while we tweaked it and grew it, moving much of the community in our old public Slack onto here. Now, after six months, we are super happy with the results, and are officially taking the forum out of beta.

This doesn’t mean that work on the forum has stopped. On the contrary, expect to see more and more improvements here, and don’t hesitate to share your thoughts on how to make this a better space for the community!

Getting the most out of CREATE2

We gathered all what we learned around making the best out of the CREATE2 opcode while adding the zos create2 command to our CLI, and shared it on our blog.

ZeppelinOS Blog – 3 Jun 19 Getting the most out of CREATE2 - ZeppelinOS Blog In this post, we’ll go in depth into the CREATE2 opcode and its uses in counterfactual instantiation and user onboarding. We’ll see how we can use it in combination with different techniques, such as initializers, proxies, and meta transactions....

This is a very technical post, but we made sure to throw in several use cases to better show where and how this feature can be used. Comment to share if and how you have been using this opcode!

What’s next

During July, we plan to focus our efforts around the gas station network, and offering the best possible toolset for building applications with great user onboarding, powered by meta-transactions. We will also be adding bugfixes for ZeppelinOS (expect a 2.4.1 soon!), and keep improving our documentation.

Also, remember that @jcarpanelli and @tinchoabbate will be in the Blockchain Summit Latam this week, where they will be talking about DApp development and security in smart contracts respectively. And many of us will be during August in Berlin for the blockchain week, hope to see you there!

Happy coding!