Smart Contract Utilities with ZeppelinOS Introduction

What is It?

ZeppelinOS is a development platform of utilities to help manage and operate smart contract projects in Ethereum. Its counterpart OpenZeppelin , comprises of a library of reusable and secure smart contracts. In this tutorial series, we are primarily focusing on ZeppelinOS.

ZeppelinOS is a command line tool with a multitude of built-in features to assist you with developing contracts. They are responsible for creating a feature called the EVM Package.

EVM packages are collections of upgradeable on-chain smart contract code that is reusable. For understanding purposes, think of it as a dependency that you can update without having to deploy. As a result, whenever there's a bug that needs fixing, or a new feature to add, you have the ability to upgrade your contract without deploying a new one. Before ZeppelinOS this was impossible, your contracts would forever be frozen on the blockchain.

Upgradeability is a feature that every developer needs to use, and without ZeppelinOS it's impossible. EVM packages are accessible through inheriting and take up little to no code. Writing contracts takes less time which allows for increased quality and complexity of contracts. In the next tutorial, Deploying & Upgrading we cover how to use ZeppelinOS but for now we cover what it has to offer.

Here are a couple definitions to make this introduction easier to understand:

Features

ZeppelinOS has great features to get you started:

Future Features

ZeppelinOS has more features rolling out in the new year to make development and maintenance even easier. According to their road map we can expect to see the following.

Kernel Standard Libraries

This is an on-chain set of upgradeable libraries that you can inherit into your smart contracts. This stage of the project is active and available to users in the form of OpenZeppelin.

Although as per the whitepaper, it sounds as though ZeppelinOS will be receiving its own separate version of a kernel sometime soon.

Development Tools

A set of tools that makes development and maintenance hassle-free. Examples include:

Interaction

Various utilities to enhance inter-contract communications and networking.

Off-chain Tools

Off-chain tools aim to simplify the development process. Assisting with debugging, testing, deploying and monitoring of smart contract dApps.

Next Steps

ZeppelinOS expect to roll out new features in the future, in the meantime, we have plenty to get us started. The ZeppelinOS framework is designed to make creating contracts as easy as possible. They've resolved a fundamental issue in providing the ability to upgrade an already deployed contract. Once the rest of the features are launched, creating smart contracts will have never been easier.