Updated to use Hardhat!
This is a starter kit for developing, testing, and deploying smart contracts with a full Typescript environment. This stack uses Hardhat as the platform layer to orchestrate all the tasks. Ethers is used for all Ethereum interactions and testing.
Clone this repository, then install the dependencies with npm install
. Build everything with npm run build
. https://hardhat.org has excellent docs, and can be used as reference for extending this project.
npm run compile
In one terminal run npx hardhat node
Then in another run npm run test
Notes:
--network localhost
flag; see below).In one terminal run npx hardhat node
Then in another run npm run test -- --network localhost
Notes:
localhost
option, you get a gas report but may not get good callstacksnpm run coverage
Notes:
npx hardhat clean
followed by npm run build
before re-running testsCreate/modify network config in hardhat.config.ts
and add API key and private key, then run:
npx hardhat run --network rinkeby scripts/deploy.ts
Using the hardhat-etherscan plugin, add Etherscan API key to hardhat.config.ts
, then run:
npx hardhat verify --network rinkeby <DEPLOYED ADDRESS>
PRs and feedback welcome!