111 ethereum hardhat: использование задачи и скрипта

— введение

— Написание задач

— Написание скриптов Hardhat

— Выбор между задачами и скриптами

— хардхат учебники , хардхат 教程

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

— введение

По своей сути Hardhat — это программа для выполнения задач, которая позволяет автоматизировать рабочий процесс разработки. Он поставляется с некоторыми встроенными задачами, такими как compile и test, но вы также можете добавить свои собственные задачи.

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

— Написание задач

Давайте напишем очень простую задачу, которая печатает список доступных счетов, и посмотрим, как она работает.

Скопируйте эту постановку задачи и вставьте ее в ваш конфигурационный файл hardhat:

task("accounts", "Prints the list of accounts", async (taskArgs, hre) => {
  const accounts = await hre.ethers.getSigners();

  for (const account of accounts) {
    console.log(account.address);
  }
});
Войти в полноэкранный режим Выйти из полноэкранного режима

Теперь вы должны быть в состоянии запустить его:

npx hardhat accounts
Войти в полноэкранный режим Выйти из полноэкранного режима

Мы используем функцию task для определения нашей новой задачи. Ее первый аргумент — это имя задачи, и именно его мы используем в командной строке для ее запуска. Второй аргумент — это описание задачи, которое выводится при использовании npx hardhat help.

Третий аргумент — это асинхронная функция, которая выполняется при запуске задачи. Она получает два аргумента:

  1. Объект с аргументами для задачи. Мы еще не определили ни одного.
  2. Среда выполнения Hardhat Runtime Environment или HRE, которая содержит все функциональные возможности Hardhat и его плагинов. Вы также можете найти все ее свойства, внедренные в пространство имен global во время выполнения задачи.

Вы можете делать в этой функции все, что захотите. В данном случае мы используем ethers.getSigners(), чтобы получить все настроенные учетные записи и вывести адреса каждой из них.

Вы можете добавлять параметры в свои задачи, и Hardhat будет обрабатывать их разбор и проверку за вас.

Вы также можете переопределить существующие задачи, что позволит вам изменить работу различных частей Hardhat.

Чтобы узнать больше о задачах, прочитайте это руководство.

— Написание сценариев Hardhat

Вы можете писать сценарии и запускать их с помощью Hardhat. Они могут использовать преимущества среды выполнения Hardhat Runtime Environment для доступа ко всем функциональным возможностям Hardhat, включая бегунок задач.

Вот сценарий, который делает то же самое, что и наша задача accounts. Создайте файл accounts.js с таким содержимым:

async function main() {
  const accounts = await ethers.getSigners();

  for (const account of accounts) {
    console.log(account.address);
  }
}

main().catch((error) => {
  console.error(error);
  process.exit(1);
});
Вход в полноэкранный режим Выход из полноэкранного режима

И запустите его с помощью встроенной задачи run:

npx hardhat run accounts.js
Войти в полноэкранный режим Выйти из полноэкранного режима

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

Чтобы узнать больше о скриптах, включая то, как запускать их без использования CLI Hardhat, пожалуйста, прочитайте это руководство.

— Выбор между задачами и сценариями

Выбор между задачами и скриптами остается за вами. Если вы сомневаетесь, какой из них использовать, вам может быть полезно следующее:

  1. Если вы хотите автоматизировать рабочий процесс, не требующий параметров, то лучшим выбором будет сценарий.

  2. Если автоматизируемый рабочий процесс требует некоторых параметров, подумайте о создании задачи Hardhat.

  3. Если вам нужно получить доступ к среде выполнения Hardhat из другого инструмента, имеющего собственный CLI, например jest или ndb, вам следует написать сценарий. Обязательно импортируйте среду выполнения Hardhat в явном виде, чтобы ее можно было запускать с помощью этого инструмента вместо CLI Hardhat.

  4. Если вы чувствуете, что обработка параметров в Hardhat не удовлетворяет вашим потребностям, вам следует написать сценарий. Просто импортируйте среду выполнения Hardhat в явном виде, используйте собственную логику разбора аргументов (например, с помощью yargs) и запустите его как отдельный сценарий Node.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
Добавить комментарий