Skip to content
This repository has been archived by the owner. It is now read-only.
Switch branches/tags

Latest commit


Git stats


Failed to load latest commit information.
Latest commit message
Commit time

⚠️ This project is deprecated. We are no longer actively developing new features nor addressing issues. Read here for more info, and reach out if you are interested in taking over maintenance. We suggest looking into create-eth-app for a popular alternative to this project.

OpenZeppelin Starter Kit

An OpenZeppelin Starter Kit containing React, OpenZeppelin CLI, OpenZeppelin Contracts, Truffle and Infura.

This kit comes with everything you need to start using upgradeable Smart contracts inside your applications. It also includes all the configuration required to deploy to different networks.


Install Ganache, and Truffle

npm install -g truffle@5.0.41 ganache-cli@6.7.0


Ensure you are in a new and empty directory, and run the unpack command with starter to create a starter project:

npx @openzeppelin/cli unpack starter


In a new terminal window, run your local blockchain:

ganache-cli --deterministic

In your original terminal window, at the top level of your folder, initialize the project and follow the prompts:

npx oz init

In a new terminal window, in the client directory, run the React app:

cd client
npm run start


You can interact directly with your smart contracts from the openzeppelin cli.

npx oz transfer

send funds to a given address.

npx oz balance [address]

query the ETH balance of the specified account, also supports ERC20s.

npx oz send-tx

sends a transaction to your contract and returns the events.

npx oz call

execute a constant method and receive back the value.

Type npx oz to see a complete list of availible commands.


Truffle can run tests written in Solidity or JavaScript against your smart contracts. Note the command varies slightly if you're in or outside of the truffle development console.

// inside the development console.

// outside the development console..
truffle test

Jest is included for testing React components. Compile your contracts before running Jest, or you may receive some file not found errors.

// ensure you are inside the client directory when running this
npm run test


To build the application for production, use the build script. A production build will be in the client/build folder.

// ensure you are inside the client directory when running this
npm run build