Использование MetaMask для взаимодействия с локальным узлом Moonbeam
Moonbeam позволяет использовать популярное расширение на основе Ethereum в экосистеме Polkadot.
Moonbeam — это будущая платформа смарт-контрактов для сети Polkadot, которая в настоящее время находится в активной разработке. Moonbeam построен с использованием платформы разработки блокчейнов Substrate, которая предоставляет основной набор модулей совместимости с Ethereum.
Поскольку совместимость с Ethereum является основой ценностного предложения Moonbeam, я подумал, что было бы полезно быстро продемонстрировать тип функциональности, которую мы имеем в виду, когда говорим «совместимость с Ethereum».
В этом руководстве описаны шаги по созданию и использованию автономного узла разработки Moonbeam для отправки токенов между учетными записями Moonbeam с помощью MetaMask. Действия, описанные в руководстве, предполагают базовую ОС Ubuntu 18.04.
Примечание: Поскольку проект в настоящее время находится на стадии пре-альфа, эти инструкции могут быть изменены. Я сделаю все возможное, чтобы эта статья была актуальной.
Во-первых, некоторые краткие сведения о Moonbeam
Moonbeam — это блокчейн, ориентированный на разработчиков, который стремится обеспечить совместимость с существующими инструментами и сетями разработчиков Ethereum. Он делает это, предоставляя полную реализацию EVM, API-интерфейс, совместимый с Web3, и мосты, которые соединяют Moonbeam с существующими сетями Ethereum. Это позволяет разработчикам с минимальными изменениями развертывать существующие смарт-контракты Solidity и интерфейсы DApp для Moonbeam.
Moonbeam также будет парачейном в сети Polkadot. Это означает, что он получит общую безопасность от цепочки ретрансляторов Polkadot и сможет интегрироваться с другими цепями, подключенными к Polkadot (как только эта функция будет доступна на Polkadot).
Вы можете взаимодействовать с Moonbeam двумя способами: с помощью конечных точек Substrate RPC или с помощью конечных точек RPC, совместимых с Web3. Последние конечные точки в настоящее время обслуживаются тем же сервером RPC, что и субстратные RPC. В этом руководстве мы будем использовать конечные точки Web3 RPC для взаимодействия с Moonbeam.
Создание локального узла
Начните с загрузки и создания узла Moonbeam, который будет работать в режиме разработчика с флагом --dev
.
Примечание: Для людей, не знакомых с Substrate, флаг — dev— это способ запустить узел на основе Substrate в конфигурации разработчика с одним узлом для целей тестирования. Вы можете узнать больше о — dev в этом руководстве по субстратам.
Примеры в этом руководстве предполагают среду на основе Ubuntu 18.04 и должны быть соответственно адаптированы для MacOS или Windows.
Чтобы установить Moonbeam, клонируйте и создайте эту конкретную ветку репозитория Moonbeam:
https://github.com/PureStake/moonbeam/tree/moonbeam-tutorials
Следуйте инструкциям по установке на этой странице, чтобы настроить Rust, установить Substrate и клонировать репозиторий. Вот как будет выглядеть результат клонирования:
После клонирования всех необходимых репозиториев пора создать узел, запустив:
cargo build — release
Первоначальная сборка займет некоторое время, в зависимости от вашего оборудования. Вы должны запланировать 30 минут. Вы можете увидеть предупреждения, связанные с evm v0.16.1 и использованием устаревшего элемента `sc_service :: AbstractService :: spawn_essential_task`, который можно игнорировать для целей этого руководства.
Вот как будет выглядеть конец вывода сборки:
Затем вы захотите запустить узел в режиме разработки, используя следующую команду:
./target/release/node-moonbeam — dev
Вы должны увидеть вывод, который выглядит следующим образом и показывает производимые блоки:
Установите MetaMask с настройками по умолчанию
Затем создайте новую установку MetaMask по умолчанию из магазина Chrome, куда вы будете импортировать свою учетную запись разработчика:
Подробная информация об учетной записи разработчика для этого примера:
Address: 0x6Be02d1d3665660d22FF9624b7BE0551ee1Ac91b
Key: 99B3C12287537E38C90A9219D4CB074A89A16E9CDB20BF85728EBD97C343E342
На экране импорта выберите «Закрытый ключ» и вставьте ключ, указанный выше:
У вас должен получиться импортированный «Аккаунт 2», который выглядит следующим образом:
Подключитесь к локальному узлу Moonbeam
Теперь вы подключите MetaMask к локально работающему узлу Moonbeam.
Перейдите в Настройки -> Сети -> Добавить сеть и введите следующие данные:
Network Name: Moonbeam Dev
New RPC URL: http://127.0.0.1:9933
ChainID: 43
Когда вы нажимаете «Сохранить» и выходите из экрана сетевых настроек, MetaMask должен быть подключен к локальному узлу разработки Moonbeam через его Web3 RPC, и вы должны увидеть учетную запись разработчика Moonbeam с балансом 123456,123 ETH.
Начало передачи
Давайте попробуем отправить несколько токенов с помощью MetaMask.
Для простоты вы перейдете из своей учетной записи разработчика в учетную запись MetaMask по умолчанию, которая была включена в вашу установку, используя опцию «Перенос между моими учетными записями». Давайте перенесем 100 токенов и оставим все остальные настройки по умолчанию:
После отправки вы увидите транзакцию в состоянии ожидания, пока она не будет подтверждена следующим образом:
Обратите внимание, что баланс Счета 2 уменьшился на сумму отправления + плата за газ. Перейдя на счет 1, мы видим, что 100 отправленных токенов прибыли:
Примечание: Если вы в конечном итоге сбросите свой узел разработчика с помощью команды Substrate purge-chain, вам нужно будет сбросить свою учетную запись разработчика MetaMask, используя Настройки -> Дополнительно -> Сбросить учетную запись. Это очистит историю транзакций из ваших учетных записей и сбросит одноразовый номер. Убедитесь, что вы не стираете все, что хотите сохранить!
Следующее руководство:
Использование Remix IDE для развертывания смарт-контракта Solidity в Moonbeam
Мы хотим услышать от тебя
Это, очевидно, простой пример, но он дает контекст того, как вы можете начать работать с Moonbeam и как вы можете опробовать его функции совместимости с Ethereum. Нам интересно узнать о вашем опыте выполнения шагов, описанных в этом руководстве, или о вашем опыте использования других инструментов на основе Ethereum с Moonbeam. Не стесняйтесь присоединиться к нам в комнате Moonbeam Riot здесь. Мы будем рады услышать ваши отзывы о Moonbeam и ответить на любые ваши вопросы.
Другие подобные руководства можно найти на сайте документации Moonbeam:
https://docs.moonbeam.network/
Первоначально опубликовано на https://docs.moonbeam.network.