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 на Neon Devnet за допомогою Hardhat.
Використовуючи Git, клонуйте проект ERC-20 Hardhat з віддаленого репозиторію Neon і перейдіть до нього за допомогою наступних команд:
1. git clone https://github.com/neonlabsorg/examples.git
2. cd examples/simple-erc20-hardhat
Потім виконайте наступну команду для встановлення Hardhat та залежностей, необхідних для запуску прикладу проекту:
Якщо при виконанні вищевказаної команди виникла помилка, виконайте наступну команду:
Крок 2: Налаштування облікових записів MetaMask
Щоб взаємодіяти з контрактами, які незабаром будуть розгорнуті, вам потрібно буде створити два нових облікових записи в MetaMask. Перш ніж почати цей крок, переконайтеся, що MetaMask підключено до Neon Devnet.
У MetaMask створіть два нових облікових записи. Щоб створити новий обліковий запис в MetaMask, натисніть на іконку вашого поточного облікового запису в правому верхньому куті спливаючого вікна розширення MetaMask. З'явиться спадне меню. У випадаючому меню виберіть "Створити обліковий запис".
Потім отримайте кілька токенів Devnet NEON для цих облікових записів за допомогою NeonFaucet.
Далі натисніть на три вертикальні крапки праворуч від імені облікового запису та адреси гаманця, що відображаються в даний момент. У випадаючому меню, що відкриється, виберіть "Відомості про обліковий запис", а потім "Експортувати приватний ключ". Введіть свій пароль і натисніть "Підтвердити", щоб отримати доступ до приватного ключа для цього облікового запису.
Скопіюйте приватні ключі обох облікових записів і вставте їх у файл hardhat.config.js у папці проекту, замінивши текст-заповнювач у рядках 11 і 12 цього файлу. Обов'язково додайте до цих ключів у файлі конфігурації префікс "0x".
Для компіляції контрактів проекту (знаходяться в папці "contracts/") виконайте наступну команду:
1. ./node_modules/.bin/hardhat compile
Результат виконання цієї команди повинен бути аналогічним наступному:
Щоб запустити тести проекту перед розгортанням, виконайте наступну команду. Вона скомпілює контракти, розгорне їх в 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.