11D ethereum hardhat : Написание скриптов

— введение

— Выполнение скриптов с помощью Hardhat CLI

— Автономные скрипты: использование Hardhat в качестве библиотеки

— Аргументы Hardhat

— hardhat Учебники , hardhat 教程

— Контакт 联系方式

— введение

В этом руководстве мы рассмотрим шаги по созданию скрипта с помощью Hardhat. Для общего обзора использования Hardhat обратитесь к руководству «Начало работы».

Вы можете писать собственные пользовательские сценарии, которые могут использовать все функциональные возможности Hardhat. Классическим примером является написание скрипта развертывания для ваших смарт-контрактов.

Существует два способа написания сценария, который обращается к среде выполнения Hardhat.

— Запуск скриптов с помощью Hardhat CLI

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

Эти сценарии должны быть запущены через Hardhat: npx hardhat run script.js.

Это облегчает перенос скриптов, которые были разработаны для других инструментов и которые вводят переменные в глобальное состояние.

— Отдельные сценарии: использование Hardhat в качестве библиотеки

Второй вариант использует архитектуру Hardhat для обеспечения большей гибкости. Hardhat был разработан как библиотека, что позволяет вам проявить творческий подход и создать автономные инструменты CLI, которые получают доступ к вашей среде разработки. Это означает, что достаточно просто потребовать:

const hre = require("hardhat");
Войти в полноэкранный режим Выйти из полноэкранного режима

вы можете получить доступ ко всем вашим задачам и плагинам. Чтобы запустить эти скрипты, достаточно зайти через node: node script.js.

Чтобы опробовать это, давайте посмотрим на свежий проект Hardhat. Запустите npx hardhat и пройдите шаги по созданию проекта JavaScript. Когда вы закончите, каталог вашего проекта должен выглядеть следующим образом:

$ ls -l
total 400
-rw-r--r--    1 fzeoli  staff     195 Jul 30 15:27 hardhat.config.js
drwxr-xr-x    3 fzeoli  staff      96 Jul 30 15:27 contracts
drwxr-xr-x  502 fzeoli  staff   16064 Jul 30 15:31 node_modules
-rw-r--r--    1 fzeoli  staff  194953 Jul 30 15:31 package-lock.json
-rw-r--r--    1 fzeoli  staff     365 Jul 30 15:31 package.json
drwxr-xr-x    3 fzeoli  staff      96 Jul 30 15:27 scripts
drwxr-xr-x    3 fzeoli  staff      96 Jul 30 15:27 test
Вход в полноэкранный режим Выйти из полноэкранного режима

Внутри scripts/ вы найдете deploy.js. Прочитайте его комментарии, чтобы лучше понять, что он делает.

<<< @/../packages/hardhat-core/sample-projects/javascript/scripts/deploy.js

Теперь запустите скрипт:

$ node scripts/deploy.js
Lock with 1 ETH deployed to: 0x5FbDB2315678afecb367f032d93F642f64180aa3
Войти в полноэкранный режим Выход из полноэкранного режима

Получив доступ к Hardhat Runtime Environment в верхней части, вы можете запустить сценарий в автономном режиме.

Hardhat всегда запускает задачу компиляции, когда она вызывается через npx hardhat run, но в автономном режиме вы можете захотеть вызвать компиляцию вручную, чтобы убедиться, что все скомпилировано. Это можно сделать, вызвав hre.run("compile"). Добавьте следующую строку в начало функции main и повторно запустите скрипт с помощью node:

await hre.run("compile");
Вход в полноэкранный режим Выход из полноэкранного режима
$ node scripts/deploy.js
Nothing to compile
Lock with 1 ETH deployed to: 0x5FbDB2315678afecb367f032d93F642f64180aa3
Войти в полноэкранный режим Выйти из полноэкранного режима

— Аргументы Hardhat

Вы все еще можете передавать аргументы Hardhat при запуске автономного сценария. Это делается путем установки переменных среды. К ним относятся:

  • HARDHAT_NETWORK: Устанавливает сеть для подключения.

  • HARDHAT_SHOW_STACK_TRACES: Включает трассировку ожидаемых ошибок JavaScript.

  • HARDHAT_VERBOSE: Включает ведение подробного журнала Hardhat.

  • HARDHAT_MAX_MEMORY: Устанавливает максимальный объем памяти, который может использовать Hardhat.

Например, вместо команды npx hardhat --network localhost run script.js, вы можете сделать HARDHAT_NETWORK=localhost node script.js.

— hardhat Tutorials , 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

Оцените статью
devanswers.ru
Добавить комментарий