This project showcases a Hardhat 3 Beta project using mocha
for tests and the ethers
library for Ethereum interactions.
To learn more about the Hardhat 3 Beta, please visit the Getting Started guide. To share your feedback, join our Hardhat 3 Beta Telegram group or open an issue in our GitHub issue tracker.
This example project includes:
- A simple Hardhat configuration file.
- Foundry-compatible Solidity unit tests.
- TypeScript integration tests using
mocha
and ethers.js - Examples demonstrating how to connect to different types of networks, including locally simulating OP mainnet.
To run all the tests in the project, execute the following command:
npx hardhat test
You can also selectively run the Solidity or mocha
tests:
npx hardhat test solidity
npx hardhat test mocha
This project includes an example Ignition module to deploy the contract. You can deploy this module to a locally simulated chain or to Sepolia.
To run the deployment to a local chain:
npx hardhat ignition deploy ignition/modules/Counter.ts
To run the deployment to Sepolia, you need an account with funds to send the transaction. The provided Hardhat configuration includes a Configuration Variable called SEPOLIA_PRIVATE_KEY
, which you can use to set the private key of the account you want to use.
You can set the SEPOLIA_PRIVATE_KEY
variable using the hardhat-keystore
plugin or by setting it as an environment variable.
To set the SEPOLIA_PRIVATE_KEY
config variable using hardhat-keystore
:
npx hardhat keystore set SEPOLIA_PRIVATE_KEY
After setting the variable, you can run the deployment with the Sepolia network:
npx hardhat ignition deploy --network sepolia ignition/modules/Counter.ts