— Настройка проекта
— Образец проекта Hardhat
— Тестирование
— Внешние сети
— Плагины и зависимости
— hardhat Учебники , hardhat 教程
— Контакт 联系方式
— Настройка проекта
Проекты Hardhat — это проекты Node.js с установленным пакетом hardhat
и файлом hardhat.config.js
.
Для инициализации проекта Node.js вы можете использовать npm или yarn. Мы рекомендуем использовать npm 7 или более позднюю версию:
npm init -y
Затем вам необходимо установить Hardhat:
npm install --save-dev hardhat
Если вы запустите npx hardhat
сейчас, вам будут показаны некоторые опции для облегчения создания проекта:
$ npx hardhat
888 888 888 888 888
888 888 888 888 888
888 888 888 888 888
8888888888 8888b. 888d888 .d88888 88888b. 8888b. 888888
888 888 "88b 888P" d88" 888 888 "88b "88b 888
888 888 .d888888 888 888 888 888 888 .d888888 888
888 888 888 888 888 Y88b 888 888 888 888 888 Y88b.
888 888 "Y888888 888 "Y88888 888 888 "Y888888 "Y888
Welcome to Hardhat v2.10.0
? What do you want to do? …
▸ Create a JavaScript project
Create a TypeScript project
Create an empty hardhat.config.js
Quit
Если вы выберете Create an empty hardhat.config.js, Hardhat создаст hardhat.config.js
, как показано ниже:
/** @type import('hardhat/config').HardhatUserConfig */
module.exports = {
solidity: "0.8.9",
};
И этого достаточно, чтобы запустить Hardhat, используя структуру проекта по умолчанию.
— Образец проекта Hardhat
Если вы выберете Create a JavaScript project, простой мастер создания проекта задаст вам несколько вопросов. После этого мастер создаст несколько каталогов и файлов и установит необходимые зависимости. Самым важным из этих зависимостей является Hardhat Toolbox, плагин, который объединяет все необходимое для начала работы с Hardhat.
Инициализированный проект имеет следующую структуру:
contracts/
scripts/
test/
hardhat.config.js
Это пути по умолчанию для проекта Hardhat.
Если вам нужно изменить эти пути, загляните в раздел конфигурации путей.
— Тестирование
Когда дело доходит до тестирования ваших контрактов, пример проекта поставляется с некоторыми полезными функциями:
- Встроенная сеть Hardhat Network в качестве сети разработки для тестирования, а также библиотека Hardhat Network Helpers для работы с этой сетью.
- Mocha в качестве программы запуска тестов, Chai в качестве библиотеки утверждений и Hardhat Chai Matchers для расширения Chai функциональностью, связанной с контрактами.
- Библиотека
ethers.js
для взаимодействия с сетью и контрактами.
А также другие полезные плагины. Подробнее об этом вы можете узнать в руководстве по тестированию контрактов.
— Внешние сети
Если вам нужно использовать внешнюю сеть, например, Ethereum testnet, mainnet или какую-то другую специфическую ноду, вы можете настроить ее с помощью конфигурационных записей networks
в экспортируемом объекте в hardhat.config.js
, именно так проекты Hardhat управляют настройками.
Вы можете использовать параметр --network
CLI для быстрого изменения сети.
Посмотрите раздел конфигурации сетей, чтобы узнать больше о настройке различных сетей.
— Плагины и зависимости
Большинство функциональных возможностей Hardhat обеспечивается плагинами, поэтому ознакомьтесь с официальным списком плагинов в разделе «Плагины» и посмотрите, есть ли среди них те, которые вас интересуют.
Чтобы использовать плагин, первым шагом всегда является его установка с помощью npm или yarn, а затем требование его наличия в вашем конфигурационном файле:
require("@nomicfoundation/hardhat-toolbox");
module.exports = {
solidity: "0.8.9",
};
Плагины очень важны для проектов Hardhat, поэтому обязательно ознакомьтесь со всеми доступными плагинами, а также создайте свой собственный!
Настройка вашего редактора
Hardhat for Visual Studio Code — это официальное расширение Hardhat, которое добавляет расширенную поддержку Solidity в VSCode. Если вы используете Visual Studio Code, попробуйте!
— hardhat Учебники , hardhat 教程
CN 中文 Github hardhat 教程 : github.com/565ee/hardhat_CN
CN 中文 CSDN hardhat 教程 : blog.csdn.net/wx468116118
EN 英文 Github hardhat Tutorials : github.com/565ee/hardhat_EN
— Контакт 联系方式
Домашняя страница : 565.ee
GitHub : github.com/565ee
Электронная почта : 565.eee@gmail.com
Facebook : facebook.com/565.ee
Twitter : twitter.com/565_eee
Telegram : t.me/ee_565