Hardhat

Деплой смарт-контракта с использованием Hardhat

Что такое Hardhat?

Hardhat - это среда разработки для Ethereum, которая помогает разработчикам управлять и автоматизировать общие задачи, связанные с созданием смарт-контрактов и децентрализованных приложений. Она может напрямую взаимодействовать с Ethereum API компании Caldera, позволяя развертывать смарт-контракты в сети Caldera.

Кроме того, Hardhat - это комплексный набор инструментов для создания программного обеспечения на базе Ethereum, включающий различные компоненты, которые помогают редактировать, компилировать, отлаживать и развертывать смарт-контракты и децентрализованные приложения. Все эти компоненты работают вместе, создавая полноценную среду разработки.

Создание проекта Hardhat

  1. Создайте директорию для своего проекта:

    mkdir hardhat && cd hardhat
  2. Инициализируйте проект, для чего создавайте файл package.json

    npm init -y
  3. Установите Hardhat

    npm install hardhat
  4. Создайте проект

    npx hardhat
  5. Создайте пустой hardhat.config.js и установите плагин Ethers для использования Ethers.js библиотеки для взаимодействия с сетью.

    npm install @nomiclabs/hardhat-ethers ethers

Создание своего смарт-контракта

  1. Создайте директорию contracts

    mkdir contracts && cd contracts
  2. Создайте файл your_contract.sol в директории contracts

    touch your_contract.sol

Создание конфигурационного файла

Измените конфигурационный файл Hardhat и создайте безопасный файл для хранения приватного ключа в нем.

  1. Создайте файл secrets.json для хранения приватного ключа

  2. Добавьте ваш приватный ключ в secrets.json

  3. Добавьте файл к своему проекту .gitignore, и никогда не раскрывайте свой закрытый ключ.

  4. Измените файл hardhat.config.js

    • Импортируйте плагин Ethers.js

    • Импортируйте файлsecrets.json

    • Внутрь module.exports добавьте конфигурации сети Caldera

    hardhat.config.js

Деплой смарт-контракта

  1. Скомпилируйте контракт

  2. Создайте новую директорию для скрипта и назовите ее scripts и добавьте новый файл с названием deploy.js

  3. Создайте скрипт деплоинга, например belowscripts/deploy.js

  4. Задеплойте your_contract.sol используя команду ниже

Last updated