Взаимодействие ноды Moonbeam с помощью MetaMask
Введение
В этом руководстве описаны все шаги для подключения MetaMask к автономной ноде Moonbeam для отправки токенов между учетными записями. Если вы еще не настроили собственную ноду разработчика, обратитесь к этому руководству или следуйте инструкциям в репозитории GitHub.
Примечание:
Это руководство было создано с использованием версии v3 Moonbase Alpha. Платформа Moonbeam и компоненты Frontier, которые используется для совместимости Ethereum на основе Substrate, все еще находятся в стадии активной разработки. Примеры в этом руководстве предполагают, что у Вас есть среда на основе Ubuntu 18.04, и ее необходимо соответствующим образом адаптировать для MacOS или Windows.
Вы можете взаимодействовать с Moonbeam двумя способами: используя конечные точки RPC Substrate или конечные точки RPC, совместимые с Web3. Последние конечные точки в настоящее время обслуживаются тем же сервером RPC, что и RPC Substrate. В этом руководстве мы будем использовать конечные точки Web3 RPC для взаимодействия с Moonbeam.
Установка расширения Metamask
Во-первых, мы начнем с чистой установки MetaMask по умолчанию из магазина Chrome. После загрузки, установки и инициализации расширения следуйте руководству «Начало работы». Там Вам нужно создать кошелек, установить пароль и сохранить секретную резервную фразу (это дает прямой доступ к вашим средствам, поэтому обязательно храните их в безопасном месте). После завершения мы импортируем учетную запись разработчика:
Подробная информация об учетной записи, которая предварительно финансируется для этой автономной сборки, выглядит следующим образом:
- Приватный ключ: 99B3C12287537E38C90A9219D4CB074A89A16E9CDB20BF85728EBD97C343E342
- Публичный адрес: 0x6Be02d1d3665660d22FF9624b7BE0551ee1Ac91b
На экране импорта выберите «Приватный ключ» и вставьте ключ, указанный выше:
У Вас должен получиться импортированный «Account 2», который выглядит следующим образом:
Подключение к локальной ноде Moonbeam
Теперь давайте подключим MetaMask к нашей локальной ноде Moonbeam, который должен создавать блоки:
Если всё правильно, в MetaMask перейдите в Настройки -> Сети -> Добавить сеть и введите следующие данные:
- Network Name: Moonbeam Dev
- New RPC URL: http://127.0.0.1:9933
- ChainID: 1281
- Symbol (Optional): DEV
Когда вы нажмете «сохранить» и будете выходить из экрана сетевых настроек, MetaMask должен быть подключен к локальному ноде Moonbeam через его Web3 RPC, и вы должны увидеть учетную запись разработчика Moonbeam с балансом 1208925.8196 DEV.
Инициация перевода
Давайте попробуем отправить несколько токенов с помощью MetaMask.
Для простоты мы будем делать перевод из этой учетной записи разработчика в учетную запись, созданную нами при настройке MetaMask. Следовательно, мы можем использовать опцию «Перевод между моими счетами». Давайте перенесем 100 токенов и оставим все остальные настройки как есть:
После того, как Вы отправили транзакцию, Вы увидите, что статус изменился на «ожидает», пока не будет подтверждена транзакция, как показано на следующем изображении:
Учтите, что баланс “Account 2” уменьшился на сумму отправления + плата за газ. Перейдя к учетной записи “Account 1”, и мы видим, что 100 отправленных токенов прибыли:
Примечание:
Если Вы в конечном итоге сбросите свою ноду с помощью команды Substrate purge-chain, Вам нужно будет сбросить свою учетную запись MetaMask genesis, используя Настройки -> Дополнительно -> Сбросить учетную запись. Это очистит историю транзакций из ваших учетных записей и сбросит одноразовый номер. Убедитесь, что Вы не стираете все, что хотите сохранить!
Обратная связь
Это очевидно, что это простой пример, но он дает контекст того, как Вы можете начать работать с Moonbeam и опробовать его функции совместимости с Ethereum. Нам интересно узнать о Вашем опыте выполнения шагов, описанных в этом руководстве, или о Вашем опыте использования других инструментов на основе Ethereum с Moonbeam. Присоединяйтесь к нам в Discord Moonbeam здесь. Мы будем рады услышать Ваши отзывы о Moonbeam и ответить на любые Ваши вопросы.
Подготовлено при участии GameOver#9212, Lyn.