All Projects → rhlsthrm → Typescript Solidity Dev Starter Kit

rhlsthrm / Typescript Solidity Dev Starter Kit

Starter kit for smart contract development using Typescript

Programming Languages

typescript
32286 projects
solidity
1140 projects

Projects that are alternatives of or similar to Typescript Solidity Dev Starter Kit

Contracts
Smart contracts comprising the business logic of the Matic Network
Stars: ✭ 130 (+2.36%)
Mutual labels:  ethereum, dapps
Kyberswap
Codebase for KyberSwap that helps users convert tokens instantly and directly from their own hardware wallets, metamask and so on. No setup, No deposit, no withdrawal needed. Try it out on https://kyberswap.com or join telegram for developers https://t.me/KyberDeveloper.
Stars: ✭ 301 (+137.01%)
Mutual labels:  ethereum, dapps
Mastering Ethereum
分散アプリケーションプラットフォーム「ethereum」の入門書
Stars: ✭ 165 (+29.92%)
Mutual labels:  ethereum, dapps
Awesome Solidity
⟠ A curated list of awesome Solidity resources, libraries, tools and more
Stars: ✭ 3,078 (+2323.62%)
Mutual labels:  ethereum, dapps
Hardhat
Hardhat is a development environment to compile, deploy, test, and debug your Ethereum software. Get Solidity stack traces & console.log.
Stars: ✭ 727 (+472.44%)
Mutual labels:  ethereum, dapps
Trust Ray
☁️ API for the Trust Wallet. Project no longer supported and current version used as source of transactions and address tokens in Blockatlas https://github.com/trustwallet/blockatlas/blob/master/config.yml#L64
Stars: ✭ 172 (+35.43%)
Mutual labels:  ethereum, dapps
Unstoppable Wallet Ios
A secure and decentralized Bitcoin and other cryptocurrency wallet for iPhone. Supports Bitcoin, Ethereum, EOS, Binance Chain, Bitcoin Cash, DASH, ...
Stars: ✭ 180 (+41.73%)
Mutual labels:  ethereum, dapps
Squeezer
Squeezer Framework - Build serverless dApps
Stars: ✭ 3,242 (+2452.76%)
Mutual labels:  ethereum, dapps
Web3modal
A single Web3 / Ethereum provider solution for all Wallets
Stars: ✭ 515 (+305.51%)
Mutual labels:  ethereum, dapps
Token Wizard
(Discontinued) TokenWizard is an DApp to create and manage crowdsale and token contracts using a simple UI
Stars: ✭ 353 (+177.95%)
Mutual labels:  ethereum, dapps
Etherkit
Stars: ✭ 36 (-71.65%)
Mutual labels:  ethereum, dapps
Ethereum book
精通以太坊 (中文版)
Stars: ✭ 875 (+588.98%)
Mutual labels:  ethereum, dapps
Dappeteer
🏌🏼‍E2E testing for dApps using Puppeteer + MetaMask
Stars: ✭ 117 (-7.87%)
Mutual labels:  ethereum, dapps
Ion
General interoperability framework for trustless cross-system interaction
Stars: ✭ 122 (-3.94%)
Mutual labels:  ethereum
Cyb
Immortal robot for the Great Web
Stars: ✭ 126 (-0.79%)
Mutual labels:  ethereum
Remix Ide
Documentation for Remix IDE
Stars: ✭ 1,768 (+1292.13%)
Mutual labels:  ethereum
Open Bounty
Enable communities to distribute funds to push their cause forward.
Stars: ✭ 121 (-4.72%)
Mutual labels:  ethereum
Hive
Ethereum end-to-end test harness
Stars: ✭ 127 (+0%)
Mutual labels:  ethereum
Mythril
Security analysis tool for EVM bytecode. Supports smart contracts built for Ethereum, Hedera, Quorum, Vechain, Roostock, Tron and other EVM-compatible blockchains.
Stars: ✭ 1,968 (+1449.61%)
Mutual labels:  ethereum
Ds Proxy
a proxy object that can compose transactions on owner's behalf
Stars: ✭ 120 (-5.51%)
Mutual labels:  ethereum

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 as the platform layer to orchestrate all the tasks. Ethers is used for all Ethereum interactions and testing.

Blog Post

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 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, add Etherscan API key to hardhat.config.ts, then run:

npx hardhat verify --network rinkeby <DEPLOYED ADDRESS>

PRs and feedback welcome!

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].