Развертывание децентрализованного приложения, или сокращенно DApp, является заключительным этапом процесса любого разработчика по воплощению своего видения криптопроекта в реальность. Функции Neon как виртуальной машины Ethereum (EVM) на Solana делают ее подходящей для дешевого и простого развертывания dApps, написанных на Solidity. В этой серии статей о развертывании DApp мы покажем, как развернуть простое DApp “Hello World” с помощью трех различных инструментов развертывания: Remix, Truffle и Hardhat.
В этой статье основное внимание будет уделено развертыванию dApps с помощью Remix. Remix — это интерактивная среда разработки для программ Solidity, которую можно использовать для запуска кода без какой-либо локальной установки. Это делает его удобным для развертывания dApps из любого места, если у пользователя есть исходный код контракта. Однако, поскольку это онлайн-среда, ее возможности для поддержки крупных и сложных проектов ограничены. Поэтому Remix следует использовать в первую очередь для простого кода, который может быть легко развернут и требует минимального управления зависимостями.
Прежде чем начать
Прежде чем приступить к приведенному ниже руководству, убедитесь, что верно следующее:
- На вашем устройстве установлена MetaMask.
- MetaMask настроен для Neon EVM.
Чтобы установить и настроить MetaMask, следуйте этому руководству.
Шаг 1: Создайте простой смарт-контракт в Remix
Чтобы добавить смарт-контракт в Remix, перейдите по ссылке https://remix.ethereum.org , нажмите на значок “Создать новый файл” и введите “HelloWorld.sol” в появившемся поле. Затем вставьте следующий код в пустой файл и нажмите CTRL + S, чтобы сохранить файл смарт-контракта.
Процесс должен выглядеть так, как показано на рисунке ниже (рис. 1).
Рис. 1 — Загрузка смарт-контракта HelloWorld
Шаг 2: скомпилируйте смарт-контракт
Перед развертыванием смарт-контракта его необходимо сначала скомпилировать. Для этого выберите вкладку “Solidity compiler” в меню слева. Появится меню SOLIDITY COMPILER.
Нажмите на скомпилировать HelloWorld.кнопка sol для компиляции смарт-контракта (рис. 2).
Рис. 2 — Компиляция смарт-контракта HelloWorld
Если компиляция прошла успешно, рядом с кнопкой Solidity compiler появится зеленый значок.
Шаг 3: Подключите Remix к MetaMask
Взаимодействие между Remix и Neon EVM осуществляется через MetaMask. Перед подключением Remix к MetaMask выберите “Развертывание и запуск транзакций” в меню левой боковой панели. Появится меню DEPLOY & RUN TRANSACTIONS.
Выберите среду “Injected Provider — Metamask”, чтобы подключить Remix к активной учетной записи в MetaMask (рис. 3). Перед выполнением этого шага убедитесь, что ваш кошелек MetaMask настроен на отображение сети Neon Devnet.
Рис. 3 — “Injected Provider” соединяет Remix с активной учетной записью в Metamask
Как только вы это сделаете, должно появиться всплывающее окно MetaMask. Если у вас несколько учетных записей, отобразится список доступных учетных записей. Выберите желаемую учетную запись и нажмите “Далее”. Затем нажмите “Подключиться”, чтобы подключиться к этой учетной записи.
Шаг 4. Развертывание смарт-контракта в Solana Devnet
Контракт, наконец, готов к развертыванию, нажав кнопку “Deploy” (рис. 4).
Рис. 4 — Развертывание смарт-контракта
MetaMask отправит уведомление в виде всплывающего окна для подтверждения транзакции. Нажмите “Confirm”, чтобы выполнить его.
Если все вышеуказанные шаги были успешно выполнены, рядом с кнопкой “Deploy & run transactions” появится зеленый значок. Методы контракта теперь будут представлены в виде кнопок в разделе “Deployed Contracts” (рис. 5).
Рис. 5 — Окончательный вид панели Remix
Наконец, чтобы получить желаемую функциональность ‘Hello World’, нажмите на кнопку “callHelloWorld”, которая вернет строку “Hello World!” (Рис. 6).
Рис. 6 — Вызов методов смарт-контрактов
Заключение
Вывод
К счастью для разработчиков Solidity, впервые использующих Neon, Remix — это быстрое и простое решение для развертывания по контракту. Это позволяет выполнять это развертывание с любого устройства и не требует каких-либо конкретных локальных установок или настроек. Однако, поскольку это онлайн-среда разработки, ее безопасность ограничена (не включайте здесь никаких закрытых ключей mainnet в свой код контракта!), она не будет хорошо работать с крупными проектами. Поэтому Remix лучше всего подходит для тестирования небольших контрактов, когда требуется быстрая проверка.
Посетите наши документы для получения полного руководства по использованию Remix для развертывания ваших приложений dapps.
Официальные ресурсы
Discord — тут
Twitter — тут
Website — тут