Skip to content
An OpenZeppelin starter kit containing React, OpenZeppelin SDK & OpenZeppelin Contracts.
JavaScript CSS HTML Shell
Branch: master
Clone or download

OpenZeppelin Starter Kit

An OpenZeppelin Starter Kit containing React, OpenZeppelin SDK, 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 OpenZeppelin SDK, Ganache, and Truffle

npm install -g truffle@5.0.2 ganache-cli@6.3.0 @openzeppelin/cli@2.5.0


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

openzeppelin unpack OpenZeppelin/starter-kit-gsn


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:

openzeppelin 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.

openzeppelin transfer

send funds to a given address.

openzeppelin balance [address]

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

openzeppelin send-tx

sends a transaction to your contract and returns the events.

openzeppelin call

execute a constant method and receive back the value.

Type openzeppelin 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


You can’t perform that action at this time.