Introducing Contracts Wizard: An Interactive Contract Generator

Originally published at:

As OpenZeppelin Contracts grows to have new types of contracts and more features to choose from, it becomes a challenge to present all of it in a simple way. When we consider new developers in Ethereum this challenge is compounded, since we need to communicate what features exist, and then exactly how to use them.

Today we’re releasing OpenZeppelin Contracts Wizard, an interactive tool that tackles these problems, and which we think will be really handy in multiple scenarios for new and experienced developers alike.

Contracts Wizard is an interface to interactively build a contract out of components from OpenZeppelin Contracts. Select the kind of contract that you want (current support for ERC20 and ERC721), set your parameters and desired features (token name, symbol, premint amount, access control, etc.), and Contracts Wizard will generate all of the code necessary. The resulting code is ready to be compiled and deployed, or it can serve as a starting point and customized further with application specific logic.

Documentation hints are embedded throughout the interface to give a quick overview of each feature and provide links to learn more.




Once the code is complete, there’s several options for how to proceed with it that will be useful in different circumstances.“Copy to Clipboard” as well as the standard “Download” will work well with local development workflows (such as using Hardhat or Truffle), whereas “Open in Remix” will be ideal for anyone working on Remix IDE.

All of the previous options will pull OpenZeppelin Contracts from an npm dependency, but we’re also including an option that works without npm. “Download Vendored ZIP” will generate a ZIP file containing the generated code along with a directory of all the files necessary from OpenZeppelin Contracts. The downside to this option is that updating to a newer version will be a manual process. We consider this option experimental because using npm has always exclusively been our recommendation, and we’re still figuring out how to provide the best experience for the folks that for any reason wish to avoid npm.

Find OpenZeppelin Contracts Wizard in the docs and at and let us know what you think! After deploying your contract you can upload it to OpenZeppelin Defender to automate your smart contract operations. Sign up for a free account to learn more.