Hardhat — это одна из самых популярных сред разработки для Ethereum и EVM-совместимых сетей. Она помогает писать, тестировать, деплоить и отлаживать смарт-контракты на Solidity. Если искать, как начать разработку на Ethereum, Hardhat — один из лучших стартовых инструментов.
Почему Hardhat так популярен 🚀
- локальная сеть для разработки и тестов
- удобная отладка контрактов
- интеграция с Solidity, ethers.js и TypeScript
- автоматический запуск тестов
- гибкая настройка деплоя в разные сети
Что нужно для старта
Перед установкой проверьте:
- установлен Node.js
- есть npm или yarn
- базовое понимание Solidity
Установка Hardhat
Создайте проект и установите Hardhat:
mkdir my-hardhat-project
cd my-hardhat-project
npm init -y
npm install --save-dev hardhat
npx hardhat
После запуска npx hardhat система предложит создать шаблон проекта. Обычно выбирают базовый JavaScript или TypeScript-проект.
Структура проекта
После инициализации обычно появляются папки:
contracts/— смарт-контрактыscripts/— скрипты деплояtest/— тестыhardhat.config.js— конфигурация проекта
Это стандартная структура, которую часто ищут по запросу “как устроен проект Hardhat”.
Пример простого контракта
Файл contracts/Lock.sol или свой контракт:
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.20;
contract HelloWeb3 {
string public message = "Hello, Ethereum!";
}
Компиляция контракта
Чтобы скомпилировать контракт, используйте:
npx hardhat compile
Hardhat скачает нужную версию компилятора Solidity и создаст артефакты.
Запуск локальной сети
Для локальной разработки удобно поднять встроенный нод:
npx hardhat node
Это полезно, если нужен локальный блокчейн Ethereum для тестирования 🧪
Деплой контракта
Пример скрипта scripts/deploy.js:
async function main() {
const HelloWeb3 = await ethers.getContractFactory("HelloWeb3");
const hello = await HelloWeb3.deploy();
await hello.waitForDeployment();
console.log("Contract deployed to:", await hello.getAddress());
}
main().catch((error) => {
console.error(error);
process.exitCode = 1;
});
Запуск деплоя:
npx hardhat run scripts/deploy.js --network localhost
Тестирование
Hardhat поддерживает тесты на Mocha/Chai. Это важно для безопасной разработки смарт-контрактов 🔐
Запуск тестов:
npx hardhat test
Почему Hardhat стоит изучить
- ускоряет разработку dApp
- упрощает деплой в тестовые и mainnet-сети
- помогает ловить ошибки до публикации
- подходит и новичкам, и опытным blockchain-разработчикам
Итог
Hardhat — это мощная среда разработки для Ethereum, которая закрывает почти весь цикл работы со смарт-контрактами: от написания кода до тестов и деплоя. Для тех, кто изучает разработку на Solidity, создание смарт-контрактов и инструменты Web3, это один из ключевых фреймворков. 💡
Подборку полезных каналов про IT, разработку, blockchain и Web3 стоит посмотреть ниже.