An OpenZeppelin starter kit containing React, OpenZeppelin SDK & OpenZeppelin Contracts.

starsStars 100
forksForks 40
watchersWatchers 100
current-versionCurrent version
total-releasesTotal releases 0
open_issues_countOpen issues 16
dateFirst release -
dateLatest release -
updateLast update 2020-12-06

⚠️ This project is deprecated. We are no longer actively developing new features nor addressing issues. Read 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