В третьей и последней статье из серии «Развертывание децентрализованных приложений Neon» рассказывается, как развертывать децентрализованные приложения Solidity с помощью Hardhat. (Ранее мы обсуждали, как развернуть Neon с Remix и Truffle .
Hardhat — это инструмент разработки и развертывания контрактов и приложений EVM. Из трех инструментов развертывания, рассмотренных в этой серии, Hardhat является наиболее универсальным, позволяя использовать множество настраиваемых параметров и выполнять безопасное развертывание в основной сети Neon, сети для разработчиков и тестовой сети. Однако, в отличие от Remix, hHardhat можно использовать только через интерфейс командной строки, и он не является IDE.
Прежде чем вы начнете
Прежде чем приступить к выполнению приведенного ниже руководства, убедитесь, что верно следующее:
- MetaMask установлен на вашем устройстве.
- MetaMask настроен для Neon EVM.
- На вашем устройстве установлен NodeJS v8.9.4 или более поздней версии.
- Git установлен на вашем устройстве. В Windows используйте Git Bash.
Следуйте этому руководству, чтобы установить и настроить MetaMask .
Учебное пособие по ERC-20
В следующем руководстве объясняется, как развернуть простой контракт токена ERC-20 в Neon Devnet с помощью Hardhat.
Шаг 1: Установите каску
Используя Git, клонируйте проект ERC-20 Hardhat из удаленного репозитория Neon и перейдите к нему с помощью следующих команд:
Затем выполните следующую команду, чтобы установить Hardhat и зависимости, необходимые для запуска примера проекта:
Если приведенная выше команда приводит к ошибке, выполните следующую команду:
Шаг 2: Настройте учетные записи MetaMask
Чтобы взаимодействовать с контрактами, которые скоро будут развернуты, вам необходимо создать две новые учетные записи в MetaMask. Прежде чем приступить к этому шагу, убедитесь, что MetaMask подключен к Neon Devnet.
В MetaMask создайте две новые учетные записи. Чтобы создать новую учетную запись в MetaMask, щелкните значок вашей текущей учетной записи в правом верхнем углу всплывающего окна расширения MetaMask. Появится раскрывающееся меню. В раскрывающемся меню выберите «Создать учетную запись».
Затем получите несколько токенов Devnet NEON для этих учетных записей с помощью NeonFaucet .
Затем нажмите на три вертикальные точки справа от отображаемого в данный момент имени учетной записи и адреса кошелька. В открывшемся раскрывающемся меню выберите «Сведения об учетной записи», затем «Экспорт закрытого ключа». Введите свой пароль и выберите «Подтвердить», чтобы получить доступ к закрытому ключу для этой учетной записи.
Скопируйте закрытые ключи обеих учетных записей и вставьте их в файл hardhat.config.js в папке проекта, заменив замещающий текст в строках 11 и 12 этого файла. Обязательно добавьте к этим ключам префикс «0x» в файле конфигурации.
Шаг 3: Скомпилируйте контракты
Чтобы скомпилировать контракты проекта (находятся в папке «contracts/»), выполните следующую команду:
Вывод этой команды должен быть примерно таким:
Шаг 4: Запустите тесты
Чтобы запустить тесты проекта перед развертыванием, выполните следующую команду. Он скомпилирует контракты, развернет их в Neon Devnet и запустит все тесты в папке «tests/», чтобы убедиться, что контракты работают должным образом.
Если все тесты пройдены, вывод этой команды должен выглядеть примерно так:
Шаг 5: Разверните контракты
Чтобы развернуть контракты проекта, просто запустите приведенную ниже команду, чтобы запустить сценарий развертывания в каталоге «scripts/»:
Вы должны увидеть вывод в своем терминале, подобный следующему:
Шаг 6: Подключите проект к MetaMask
Чтобы с легкостью использовать этот недавно развернутый токен Neon Devnet в стиле ERC-20, следуйте этим инструкциям , чтобы импортировать токен в качестве актива в MetaMask. Используйте «адрес контракта» из выходных данных на шаге 5 для «Адрес контракта токена» в инструкциях.
После того, как вы выполните этот последний шаг, вы сможете увидеть свои новые активы ERC-20 в профилях MetaMask новых тестовых учетных записей.
Заключение
Из трех инструментов для развертывания Neon, рассмотренных в этой серии статей, Hardhat является наиболее полезным и универсальным. Благодаря множеству доступных вариантов настройки, а также возможности развертывания в основной сети из-за отсутствия уязвимостей безопасности, как в случае с Truffle, Hardhat является удобным инструментом для разработчиков, желающих запустить свой проект в «реальный мир» с помощью Neon.
Посетите документацию Neon , чтобы получить полное руководство по использованию Hardhat для развертывания ваших dApps.