Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/rhlsthrm/typescript-solidity-dev-starter-kit
Starter kit for smart contract development using Typescript
https://github.com/rhlsthrm/typescript-solidity-dev-starter-kit
buidler dapps ethereum solidity typescript
Last synced: 8 days ago
JSON representation
Starter kit for smart contract development using Typescript
- Host: GitHub
- URL: https://github.com/rhlsthrm/typescript-solidity-dev-starter-kit
- Owner: rhlsthrm
- Created: 2019-10-21T08:54:16.000Z (about 5 years ago)
- Default Branch: master
- Last Pushed: 2023-03-04T05:58:22.000Z (over 1 year ago)
- Last Synced: 2024-10-13T07:50:59.125Z (26 days ago)
- Topics: buidler, dapps, ethereum, solidity, typescript
- Language: TypeScript
- Homepage:
- Size: 1.94 MB
- Stars: 410
- Watchers: 11
- Forks: 127
- Open Issues: 18
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
- awesome-solidity - rhlsthrm/typescript-solidity-dev-starter-kit - Starter kit for developing, testing, and deploying smart contracts with a full Typescript environment. (Resources)
- awesome-solidity - rhlsthrm/typescript-solidity-dev-starter-kit - Starter kit for developing, testing, and deploying smart contracts with a full Typescript environment. (Resources)
- Blockchain-Development-Resources - Typescript Solidity Dev Starter Kit
- awesome-solidity - rhlsthrm/typescript-solidity-dev-starter-kit - Starter kit for developing, testing, and deploying smart contracts with a full Typescript environment. (Resources)
README
# 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:
- 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 hardhat 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 hardhat 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 `
PRs and feedback welcome!