Solidity Hardhat Boilerplate

screenshot of Solidity Hardhat Boilerplate

Start your next Solidity project with Hardhat in seconds

Overview:

The Hardhat Boilerplate is a project bootstrap template designed to enable fast and efficient project setup while adhering to best practices. It includes various tools and plugins to ensure code quality, commit standards, and easy maintenance of changelogs.

Features:

  • Linting: Includes the HardhatSolhint plugin for running solhint, a linter for Solidity code.
  • Code Formatting: Integrates Prettier for automatic code formatting and maintaining code style consistency.
  • Commit Standards: Implements Commitlint for enforcing commit message standards.
  • Changelog Generation: Includes Standard Version for automatic changelog creation and maintenance.
  • Alchemy Integration: Requires Alchemy API key to be added to the .env file, enabling integration with Alchemy's Ethereum endpoint.
  • Coverage Reporting: Allows running Solidity code coverage to identify areas of the codebase that are not covered by tests.
  • Mainnet Fork Support: Enables running a mainnet fork using Hardhat's node forking utility, allowing for testing and development against the Ethereum mainnet.
  • Testing: Provides commands to run all Solidity tests or specific tests in the unit or e2e (end-to-end) folders.
  • Gas Usage Reporting: Runs all tests and provides a report on gas usage.

Summary:

The Hardhat Boilerplate is a comprehensive project template that provides a quick and efficient way to bootstrap new projects while ensuring adherence to best practices. With its integrated tools and plugins, developers can easily enforce code quality, maintain consistent formatting, and generate and manage changelogs. Additionally, it offers features such as integration with Alchemy, support for running mainnet forks, and comprehensive testing and gas usage reporting capabilities.

typescript
Typescript

TypeScript is a superset of JavaScript, providing optional static typing, classes, interfaces, and other features that help developers write more maintainable and scalable code. TypeScript's static typing system can catch errors at compile-time, making it easier to build and maintain large applications.