All Projects → OpenZeppelin → starter-kit-tutorial

OpenZeppelin / starter-kit-tutorial

Licence: MIT license
An OpenZeppelin starter kit tutorial containing React, OpenZeppelin SDK & OpenZeppelin Contracts.

Programming Languages

javascript
184084 projects - #8 most used programming language
CSS
56736 projects
HTML
75241 projects
solidity
1140 projects

Projects that are alternatives of or similar to starter-kit-tutorial

starter-kit-gsn
An OpenZeppelin starter kit focused on GSN.
Stars: ✭ 39 (+14.71%)
Mutual labels:  smart-contracts, infura
erc1363-payable-token
Code implementation for the ERC-1363 Payable Token
Stars: ✭ 83 (+144.12%)
Mutual labels:  smart-contracts, openzeppelin
chainlink-mix
Working with smart contracts with eth-brownie, python, and Chainlink.
Stars: ✭ 447 (+1214.71%)
Mutual labels:  smart-contracts, infura
awesome-smart-contracts
Awesome Ethereum Projects List
Stars: ✭ 35 (+2.94%)
Mutual labels:  smart-contracts
ctf-eth-env
Moved to https://github.com/chainflag/eth-challenge-base/tree/main/geth
Stars: ✭ 30 (-11.76%)
Mutual labels:  smart-contracts
eth option
ERC20-compatible Option Contracts
Stars: ✭ 22 (-35.29%)
Mutual labels:  smart-contracts
archethic-node
Official Archethic Blockchain node, written in Elixir
Stars: ✭ 42 (+23.53%)
Mutual labels:  smart-contracts
solidstate-solidity
💠 Upgradeable-first Solidity smart contract development library 💠
Stars: ✭ 264 (+676.47%)
Mutual labels:  smart-contracts
clarity-lsp
Language Server Protocol implementation for Clarity (including VS code extension).
Stars: ✭ 47 (+38.24%)
Mutual labels:  smart-contracts
trufflepig
🍄🐷Truffle contract artifact loading tool for local development
Stars: ✭ 45 (+32.35%)
Mutual labels:  smart-contracts
Credits
Credits(CRDS) - An Evolving Currency For An Evolving Society
Stars: ✭ 14 (-58.82%)
Mutual labels:  smart-contracts
ex-healthcare-claims-processing
Reference DAML application demonstrating a healthcare use case.
Stars: ✭ 27 (-20.59%)
Mutual labels:  smart-contracts
substrate-contracts-node
Minimal Substrate node configured for smart contracts via pallet-contracts.
Stars: ✭ 70 (+105.88%)
Mutual labels:  smart-contracts
eth-decoder
Simple library to decode ethereum transaction and logs
Stars: ✭ 32 (-5.88%)
Mutual labels:  smart-contracts
awesome-ethereum-events
Inspired by the awesome list of awesome lists of awesome lists of...
Stars: ✭ 18 (-47.06%)
Mutual labels:  smart-contracts
ethereum-crowdsale
0xcert protocol crowdsale contracts for Ethereum blockchain.
Stars: ✭ 15 (-55.88%)
Mutual labels:  smart-contracts
py-etherdelta
Python client for interacting with the EtherDelta API and Smart Contracts.
Stars: ✭ 22 (-35.29%)
Mutual labels:  smart-contracts
protocol
Livepeer protocol
Stars: ✭ 136 (+300%)
Mutual labels:  smart-contracts
fnd-docs
Foundation developer docs
Stars: ✭ 33 (-2.94%)
Mutual labels:  smart-contracts
dipdup-py
Modular framework for creating selective indexers and featureful backends for dapps
Stars: ✭ 49 (+44.12%)
Mutual labels:  smart-contracts

⚠️ 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 Tutorial

An OpenZeppelin Starter Kit Tutorial containing React, OpenZeppelin CLI, OpenZeppelin Contracts, 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.

In addition to the contents included in the vanilla Starter Kit, this kit contains a step-by-step tutorial on how to use the OpenZeppelin SDK to develop your decentralized application.

Requirements

Install Ganache.

npm install [email protected]

Installation

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

npx @openzeppelin/cli unpack tutorial

Run

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

After that compile the contracts:

npx openzeppelin compile

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

cd client
npm run start

Interact

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

npx openzeppelin transfer

send funds to a given address.

npx openzeppelin balance [address]

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

npx openzeppelin send-tx

sends a transaction to your contract and returns the events.

npx openzeppelin call

execute a constant method and receive back the value.

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

Test

This starter kit uses Test Environment for smart contracts tests. Tests are written with Mocha, OpenZeppelin TestHelpers and Web3.js. ./test/counter.js and ./test/wallet.js files are good starting point for writing your own tests.

npm run test

During development it is helpful to run nodemon -e sol,js -x 'oz compile && npm test -- --bail'. This will rerun tests on changes at .sol and .js files.

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

Build

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

Hot Loader

Solidity Hot Loader allows seamless updates to frontend by just editing and saving Solidity code. To enable change disabled flag in client/config/webpack.js file to false.

FAQ

  • Where is my production build?

    The production build will be in the client/build folder after running npm run build in the client folder.

  • Where can I find more documentation?

    Check out the OpenZeppelin Starter Kits documentation.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].