This is a starter kit for developing, testing, and deploying smart contracts with a full Typescript environment. This stack uses Buidler 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://buidler.dev has excellent docs, and can be used as reference for extending this project.
npm run compile
npm run build
npm run test
Note: As is, the tests fail on purpose. This is to show the Solidity stack traces that Buidler enables!
npm run coverage
Note: The branch coverage is 75 %.
Create/modify network config in buidler.config.ts
and add API key and private key, then run:
npx buidler run --network rinkeby scripts/deploy.ts
Add Etherscan API key to buidler.config.ts
, then run:
npx buidler verify-contract --contract-name Counter --address <DEPLOYED ADDRESS>
- Better migrations strategy (Buidler working on this)
PRs and feedback welcome!