October 14, 2022

Neon EVM: як розгортати Neon dApps за допомогою Hardhat

Третя і остання частина нашої серії статей про розгортання додатків Neon dApps присвячена розгортанню додатків Solidity dApps за допомогою Hardhat (раніше ми розповідали про те, як розгортати Neon за допомогою Remix і Truffle).

Hardhat - це інструмент розробки і розгортання для контрактів і додатків EVM. З трьох інструментів розгортання, розглянутих в цій статті, Hardhat є найбільш універсальним, дозволяючи безліч настроюваних параметрів і безпечне розгортання в mainnet, devnet і testnet Neon. Однак, на відміну від Remix, Hardhat можна використовувати тільки через інтерфейс командного рядка, і він не є IDE.

Перед початком роботи

Перш ніж розпочати наведену нижче інструкцію, переконайтеся, що наведене нижче відповідає дійсності:

  • MetaMask встановлено на вашому пристрої.
  • MetaMask налаштовано для Neon EVM.
  • На вашому пристрої встановлено NodeJS v8.9.4 або новішої версії.

Дотримуйтесь цієї інструкції, щоб встановити та налаштувати MetaMask.

Керівництво по ERC-20

У цьому посібнику пояснюється, як розгорнути простий контракт токенів ERC-20 на Neon Devnet за допомогою Hardhat.

Крок 1: Встановлення Hardhat

Використовуючи Git, клонуйте проект ERC-20 Hardhat з віддаленого репозиторію Neon і перейдіть до нього за допомогою наступних команд:

1. git clone https://github.com/neonlabsorg/examples.git

2. cd examples/simple-erc20-hardhat

Потім виконайте наступну команду для встановлення Hardhat та залежностей, необхідних для запуску прикладу проекту:

  1. npm install

Якщо при виконанні вищевказаної команди виникла помилка, виконайте наступну команду:

1. npm cache clear --force

2. npm install

Крок 2: Налаштування облікових записів MetaMask

Щоб взаємодіяти з контрактами, які незабаром будуть розгорнуті, вам потрібно буде створити два нових облікових записи в MetaMask. Перш ніж почати цей крок, переконайтеся, що MetaMask підключено до Neon Devnet.

У MetaMask створіть два нових облікових записи. Щоб створити новий обліковий запис в MetaMask, натисніть на іконку вашого поточного облікового запису в правому верхньому куті спливаючого вікна розширення MetaMask. З'явиться спадне меню. У випадаючому меню виберіть "Створити обліковий запис".

Потім отримайте кілька токенів Devnet NEON для цих облікових записів за допомогою NeonFaucet.

Далі натисніть на три вертикальні крапки праворуч від імені облікового запису та адреси гаманця, що відображаються в даний момент. У випадаючому меню, що відкриється, виберіть "Відомості про обліковий запис", а потім "Експортувати приватний ключ". Введіть свій пароль і натисніть "Підтвердити", щоб отримати доступ до приватного ключа для цього облікового запису.

Скопіюйте приватні ключі обох облікових записів і вставте їх у файл hardhat.config.js у папці проекту, замінивши текст-заповнювач у рядках 11 і 12 цього файлу. Обов'язково додайте до цих ключів у файлі конфігурації префікс "0x".

Крок 3: Складання договорів

Для компіляції контрактів проекту (знаходяться в папці "contracts/") виконайте наступну команду:

1. ./node_modules/.bin/hardhat compile

Результат виконання цієї команди повинен бути аналогічним наступному:

Крок 4: Запустіть тести

Щоб запустити тести проекту перед розгортанням, виконайте наступну команду. Вона скомпілює контракти, розгорне їх в Neon Devnet і запустить всі тести в папці "tests/", щоб переконатися, що контракти працюють належним чином.

1. ./node_modules/.bin/hardhat test

Якщо всі тести пройдені, то висновок цієї команди повинен виглядати приблизно так:

Крок 5: Розгортання контрактів

Щоб розгорнути контракти проекту, просто виконайте наведену нижче команду для запуску сценарію розгортання в каталозі "scripts/":

1. ./node_modules/.bin/hardhat run ./scripts/deploy.js

У вашому терміналі повинно з'явитися приблизно таке повідомлення:

Крок 6: Підключення проекту до MetaMask

Щоб легко використовувати цей нещодавно розгорнутий токен Neon Devnet в стилі ERC-20, дотримуйтесь цих інструкцій, щоб імпортувати токен як актив в MetaMask. Використовуйте "адресу контракту" з результату на кроці 5 для "адреси контракту токена" в інструкціях.

Після завершення цього останнього кроку ви зможете побачити свої нові активи ERC-20 в профілях MetaMask нових тестових облікових записів.

Висновок

З трьох інструментів для розгортання Neon, розглянутих в цьому циклі статей, Hardhat є найбільш корисним і універсальним. Завдяки різноманітним опціям налаштування, а також можливості розгортання в основній мережі через відсутність вразливостей безпеки, як у Truffle, Hardhat є найкращим інструментом для розробників, які бажають запустити свій проект в "реальному світі" за допомогою Neon.

Відвідайте Neon docs, щоб отримати повне керівництво по використанню Hardhat для розгортання ваших dApps.