A professional truffle solidity template with necessary libraries that support to develop, compile, test, deploy, upgrade, verify solidity smart contract
- A template project to develop, compile, test, deploy and upgrade solidity project with truffle
- Included OpenZeppelin smart contract and Upgradable smart contract Library
- Smart contract gas, size testing and solidity verify code
- Configuration for local, testnet as well as production deployment
- Supported libraries to format, verify and clean the code
- Usage docs
- Click the "Use this template" button and clone it to your local
- Make sure that you have truffle in your computer
npm install -g truffle
- Enter
npm install
- Test the contract with
npm test
- Modify the contract/test cases
- Copy and update
.env.example
into.env
- MNEMONIC Or PRIVATE_KEYS: You can choose one for your project. It be used to deploy your code. Generate new one from here
- INFURA_PROJECT_ID: It be used to connect with the infura service node. You can get free Key from here
- ETHEREUMSCAN_KEY: Verify your code on ethereumscan. You can get free Key from here
- COINMARKETCAP_KEY: Get the gas price in Fiat. You can get free Key from here
- Read Usage docs to see the detail.
- Openzeppelin/contracts: a library for secure smart contract development.
- Openzeppelin/contracts-upgradeable: this repository hosts the Upgradeable variant of OpenZeppelin Contracts.
- Openzeppelin/truffle-upgrades: plugins for Truffle to deploy and manage upgradeable contracts on Ethereum.
- Truffle: truffle is a development environment, testing framework.
- Truffle/hdwallet-provider: HD Wallet-enabled Web3 provider. Use it to sign transactions.
- Truffle-assertions: this package adds additional assertions that can be used to test Ethereum smart contracts inside Truffle tests.
- Truffle-plugin-verify: this truffle plugin allows you to automatically verify your smart contracts' source code on Etherscan, straight from the Truffle CLI.
- Truffle-contract-size: this Truffle plugin displays the contract size of all or a selection of your smart contracts in kilobytes.
- Eth-gas-reporter: mocha reporter which shows gas used per unit test
- Solhint: solidity code Linter
- Prettier-plugin-solidity: a Prettier Plugin for automatically formatting your Solidity code.
- Pre-commit: automatically install pre-commit hooks for your npm modules.
- Pre-push: automatically install pre-push hooks for your npm modules.
This code is provided as is, under MIT Licence.