Hardhat
Деплой смарт-контракта с использованием Hardhat
Что такое Hardhat?
Hardhat - это среда разработки для Ethereum, которая помогает разработчикам управлять и автоматизировать общие задачи, связанные с созданием смарт-контрактов и децентрализованных приложений. Она может напрямую взаимодействовать с Ethereum API компании Caldera, позволяя развертывать смарт-контракты в сети Caldera.
Кроме того, Hardhat - это комплексный набор инструментов для создания программного обеспечения на базе Ethereum, включающий различные компоненты, которые помогают редактировать, компилировать, отлаживать и развертывать смарт-контракты и децентрализованные приложения. Все эти компоненты работают вместе, создавая полноценную среду разработки.
Создание проекта Hardhat
Создайте директорию для своего проекта:
mkdir hardhat && cd hardhatИнициализируйте проект, для чего создавайте файл
package.jsonnpm init -yУстановите Hardhat
npm install hardhatСоздайте проект
npx hardhatСоздайте пустой
hardhat.config.jsи установите плагин Ethers для использования Ethers.js библиотеки для взаимодействия с сетью.npm install @nomiclabs/hardhat-ethers ethers
Создание своего смарт-контракта
Создайте директорию
contractsmkdir contracts && cd contractsСоздайте файл
your_contract.solв директорииcontractstouch your_contract.sol
Создание конфигурационного файла
Измените конфигурационный файл Hardhat и создайте безопасный файл для хранения приватного ключа в нем.
Создайте файл
secrets.jsonдля хранения приватного ключаДобавьте ваш приватный ключ в
secrets.jsonДобавьте файл к своему проекту
.gitignore, и никогда не раскрывайте свой закрытый ключ.Измените файл
hardhat.config.jsИмпортируйте плагин Ethers.js
Импортируйте файл
secrets.jsonВнутрь
module.exportsдобавьте конфигурации сети Caldera
hardhat.config.js
Деплой смарт-контракта
Скомпилируйте контракт
Создайте новую директорию для скрипта и назовите ее scripts и добавьте новый файл с названием
deploy.jsСоздайте скрипт деплоинга, например belowscripts/deploy.js
Задеплойте
your_contract.solиспользуя команду ниже
Last updated