{"id":21658820,"url":"https://github.com/OpenZeppelin/starter-kit-tutorial","last_synced_at":"2025-07-17T21:31:46.635Z","repository":{"id":66105209,"uuid":"186685255","full_name":"OpenZeppelin/starter-kit-tutorial","owner":"OpenZeppelin","description":"An OpenZeppelin starter kit tutorial containing React, OpenZeppelin SDK \u0026 OpenZeppelin Contracts.","archived":true,"fork":false,"pushed_at":"2020-08-05T17:34:46.000Z","size":5038,"stargazers_count":38,"open_issues_count":29,"forks_count":26,"subscribers_count":8,"default_branch":"master","last_synced_at":"2024-11-25T09:43:25.711Z","etag":null,"topics":["ethereum","infura","openzeppelin","smart-contracts","solidity"],"latest_commit_sha":null,"homepage":"https://openzeppelin.com/start","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/OpenZeppelin.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2019-05-14T19:17:40.000Z","updated_at":"2023-12-16T10:10:01.000Z","dependencies_parsed_at":"2023-02-26T23:15:28.015Z","dependency_job_id":null,"html_url":"https://github.com/OpenZeppelin/starter-kit-tutorial","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/OpenZeppelin/starter-kit-tutorial","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenZeppelin%2Fstarter-kit-tutorial","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenZeppelin%2Fstarter-kit-tutorial/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenZeppelin%2Fstarter-kit-tutorial/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenZeppelin%2Fstarter-kit-tutorial/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/OpenZeppelin","download_url":"https://codeload.github.com/OpenZeppelin/starter-kit-tutorial/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenZeppelin%2Fstarter-kit-tutorial/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":265663004,"owners_count":23807463,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["ethereum","infura","openzeppelin","smart-contracts","solidity"],"created_at":"2024-11-25T09:29:53.236Z","updated_at":"2025-07-17T21:31:46.626Z","avatar_url":"https://github.com/OpenZeppelin.png","language":"JavaScript","readme":":warning: This project is **deprecated**. We are no longer actively developing new features nor addressing issues. Read [here](https://forum.openzeppelin.com/t/doubling-down-in-security/2712) for more info, and reach out if you are interested in taking over maintenance. We suggest looking into [create-eth-app](https://github.com/PaulRBerg/create-eth-app) for a popular alternative to this project.\n\n# OpenZeppelin Starter Kit Tutorial\n\nAn OpenZeppelin Starter Kit Tutorial containing React, OpenZeppelin CLI, OpenZeppelin Contracts, and Infura.\n\nThis kit comes with everything you need to start using upgradeable Smart\ncontracts inside your applications. It also includes all the configuration\nrequired to deploy to different networks.\n\nIn addition to the contents included in the [vanilla Starter Kit](https://github.com/OpenZeppelin/starter-kit/blob/master/README.md), this kit contains a step-by-step tutorial on how to use the OpenZeppelin SDK to develop your decentralized application.\n\n## Requirements\n\nInstall Ganache.\n\n```\nnpm install ganache-cli@6.7.0\n```\n\n## Installation\n\nEnsure you are in a new and empty directory, and run the `unpack` command with `tutorial` to create a starter project:\n\n```javascript\nnpx @openzeppelin/cli unpack tutorial\n```\n\n## Run\n\nIn a new terminal window, run your local blockchain:\n\n```\nganache-cli --deterministic\n```\n\nIn your original terminal window, at the top level of your folder, initialize the project\nand follow the prompts:\n\n```javascript\nnpx openzeppelin init\n```\n\nAfter that compile the contracts:\n\n```javascript\nnpx openzeppelin compile\n```\n\nIn a new terminal window, in the `client` directory, run the React app:\n\n```javascript\ncd client\nnpm run start\n```\n\n## Interact\n\nYou can interact directly with your smart contracts from the `openzeppelin` cli.\n\n`npx openzeppelin transfer`\n\nsend funds to a given address.\n\n`npx openzeppelin balance [address]`\n\nquery the ETH balance of the specified account, also supports ERC20s.\n\n`npx openzeppelin send-tx`\n\nsends a transaction to your contract and returns the events.\n\n`npx openzeppelin call`\n\nexecute a constant method and receive back the value.\n\nType `npx openzeppelin` to see a complete list of availible commands.\n\n## Test\n\nThis starter kit uses [Test Environment](https://github.com/OpenZeppelin/openzeppelin-test-environment/blob/master/README.md) for smart contracts tests. Tests are written with Mocha, [OpenZeppelin TestHelpers](https://github.com/OpenZeppelin/openzeppelin-test-helpers) and Web3.js. `./test/counter.js` and `./test/wallet.js` files are good starting point for writing your own tests.\n\n```bash\nnpm run test\n```\n\nDuring development it is helpful to run `nodemon -e sol,js -x 'oz compile \u0026\u0026 npm test -- --bail'`. This will rerun tests on changes at `.sol` and `.js` files.\n\nJest is included for testing React components. Compile your contracts before running Jest, or you may receive some file not found errors.\n\n```bash\n// ensure you are inside the client directory when running this\nnpm run test\n```\n\n## Build\n\nTo build the application for production, use the build script. A production build will be in the `client/build` folder.\n\n```javascript\n// ensure you are inside the client directory when running this\nnpm run build\n```\n\n## Hot Loader\n\n[Solidity Hot Loader](https://github.com/OpenZeppelin/solidity-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`.\n\n## FAQ\n\n- **Where is my production build?**\n\n  The production build will be in the `client/build` folder after running `npm run build` in the `client` folder.\n\n- **Where can I find more documentation?**\n\n  Check out the [OpenZeppelin Starter Kits documentation](https://docs.openzeppelin.com/starter-kits/).\n","funding_links":[],"categories":["JavaScript"],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FOpenZeppelin%2Fstarter-kit-tutorial","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FOpenZeppelin%2Fstarter-kit-tutorial","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FOpenZeppelin%2Fstarter-kit-tutorial/lists"}