This repository has been archived by the owner on Jan 9, 2022. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 4
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
1 changed file
with
2 additions
and
62 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,62 +1,2 @@ | ||
# Typescript Solidity Dev Starter Kit | ||
|
||
_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](https://hardhat.org) as the platform layer to orchestrate all the tasks. [Ethers](https://docs.ethers.io/v5/) is used for all Ethereum interactions and testing. | ||
|
||
[Blog Post](https://medium.com/@rahulsethuram/the-new-solidity-dev-stack-buidler-ethers-waffle-typescript-tutorial-f07917de48ae) | ||
|
||
## Using this Project | ||
|
||
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. | ||
|
||
## Available Functionality | ||
|
||
### Build Contracts and Generate Typechain Typeings | ||
|
||
`npm run compile` | ||
|
||
### Run Contract Tests & Get Callstacks | ||
|
||
In one terminal run `npx hardhat node` | ||
|
||
Then in another run `npm run test` | ||
|
||
Notes: | ||
|
||
- As is, the tests fail on purpose. This is to show the Solidity stack traces that Buidler enables! | ||
- The gas usage table may be incomplete (the gas report currently needs to run with the `--network localhost` flag; see below). | ||
|
||
### Run Contract Tests and Generate Gas Usage Report | ||
|
||
In one terminal run `npx buidler node` | ||
|
||
Then in another run `npm run test -- --network localhost` | ||
|
||
Notes: | ||
|
||
- When running with this `localhost` option, you get a gas report but may not get good callstacks | ||
- See [here](https://github.com/cgewecke/eth-gas-reporter#installation-and-config) for how to configure the gas usage report. | ||
|
||
### Run Coverage Report for Tests | ||
|
||
`npm run coverage` | ||
|
||
Notes: | ||
|
||
- running a coverage report currently deletes artifacts, so after each coverage run you will then need to run `npx buidler clean` followed by `npm run build` before re-running tests | ||
- the branch coverage is 75% | ||
|
||
### Deploy to Ethereum | ||
|
||
Create/modify network config in `hardhat.config.ts` and add API key and private key, then run: | ||
|
||
`npx hardhat run --network rinkeby scripts/deploy.ts` | ||
|
||
### Verify on Etherscan | ||
|
||
Using the [hardhat-etherscan plugin](https://hardhat.org/plugins/nomiclabs-hardhat-etherscan.html), add Etherscan API key to `hardhat.config.ts`, then run: | ||
|
||
`npx hardhat verify --network rinkeby <DEPLOYED ADDRESS>` | ||
|
||
PRs and feedback welcome! | ||
# Ropsten Faucet | ||
An ether faucet running on the Ropsten test network. Written with Hardhat, Solidity, TypeScript, React, NextJS. |
962b7bd
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Successfully deployed to the following URLs: