A simple Smart Contract for a Standard, Capped, Mintable, Burnable ERC20 Token.
Token has a Role Based Access Control so you can add the minter permission to users or Smart Contracts.
Token has a trasferEnabled property. Nobody can transfer tokens until the property will be enabled or you can define users as operator allowed to transfer also if not enabled.
DApp here https://vittominacori.github.io/erc20-generator
DApp source here https://github.com/vittominacori/erc20-generator/tree/dapp
npm installOpen the Truffle console
npm run consolenpm run compilenpm run testOpen the Buidler console
npm run buidler:consolenpm run buidler:compilenpm run buidler:testnpm run coverageUse Solhint
npm run lint:solUse ESLint
npm run lint:jsUse ESLint and fix
npm run lint:fixThis allow to flatten the code into a single file
Edit scripts/flat.sh to add your contracts
npm run flatUse the dist smart contracts dist/ERC20Token.dist.sol
Solc version is 0.5.15
Code released under the MIT License.