Skip to content

Latest commit

 

History

History

README.md

hardhat-boilerplate

  • Hardhat: compile and run the smart contracts on a local development network
  • TypeChain: generate TypeScript types for smart contracts
  • Ethers: renowned Ethereum library and wallet implementation
  • Waffle: tooling for writing comprehensive smart contract tests
  • Solhint: linter
  • Solcover: code coverage
  • Prettier Plugin Solidity: code formatter

Usage

Pre Requisites

Before running any command, make sure to install dependencies:

$ yarn install

Set up .env

Copy .env.example to .env and update MNEMONIC

cp .env.example .env

Compile

Compile the smart contracts with Hardhat:

$ yarn compile

Compile For Tron

Compile the smart contracts with Tronbox:

$ yarn compile:tron

TypeChain

Compile the smart contracts and generate TypeChain artifacts:

$ yarn typechain

Lint Solidity

Lint the Solidity code:

$ yarn lint:sol

Lint TypeScript

Lint the TypeScript code:

$ yarn lint:ts

Test

Run the Mocha tests:

$ yarn test

Coverage

Generate the code coverage report:

$ yarn coverage

Report Gas

See the gas usage per unit test and average gas per method call:

$ REPORT_GAS=true yarn test

Deploy

Deploy the contracts to Hardhat Network:

$ npx hardhat deploy:AssetBridge --env "testnet or alpha or devnet" --network ..

e.g Deploy the contracts to a specific network, such as the mumbai testnet:

$ npx hardhat deploy:AssetBridge --env "alpha" --network mumbai

Configure

$ npx hardhat Configure:AssetBridge --env "testnet or alpha or devnet" --network ..

e.g Configuring the contracts to a specific network, such as the mumbai testnet:

$ npx hardhat Configure:AssetBridge --env "alpha" --network mumbai

Deploy On Tron

$ npx hardhat deploy:AssetBridgeTron --env "testnet or alpha or devnet" --net "shasta or nile"

e.g

$ npx hardhat deploy:AssetBridgeTron --env "alpha" --net shasta

Configure For Tron

Deploy the contracts to Hardhat Network:

$ npx hardhat Configure:AssetBridge --env "testnet or alpha or devnet" --network ..

e.g:

$ npx hardhat Configure:AssetBridgeTron --env "alpha" --net shasta

Note: Change constants as per need in tasks/constants.ts and deployment/config info for configuring contract

Syntax Highlighting

If you use VSCode, you can enjoy syntax highlighting for your Solidity code via the vscode-solidity extension. The recommended approach to set the compiler version is to add the following fields to your VSCode user settings:

{
  "solidity.compileUsingRemoteVersion": "v0.8.4+commit.c7e474f2",
  "solidity.defaultCompiler": "remote"
}

Where of course v0.8.4+commit.c7e474f2 can be replaced with any other version.