Настройка ноды Moonbeam и подключение к графическому интерфейсу Polkadot JS
Вступление
В этом руководстве описаны шаги, необходимые для создания ноды для тестирования совместимости с Ethereum и функциональности Moonbeam.
Примечание:
Это руководство было создано с использованием тега tutorial-v3 Moonbase Alpha. Платформа Moonbeam и компоненты Frontier, которые она использует для совместимости с Ethereum на основе Substrate, все еще находятся в стадии активной разработки. Примеры в этом руководстве предполагают среду на основе Ubuntu 18.04 и должны быть соответствующим образом адаптированы для MacOS или Windows.
Установка и настройка
Начнем с клонирования тега Moonbeam в репозитарии , который вы можете найти здесь:
https://github.com/PureStake/moonbeam/
git clone -b tutorial-v3 https://github.com/PureStake/moonbeam
cd moonbeam
Затем установите Substrate и все необходимые компоненты (включая Rust), выполнив:
curl https://getsubstrate.io -sSf | bash -s -- --fast
Теперь давайте сделаем несколько проверок (правильная версия Rust nightly) с помощью скрипта инициализации:
./scripts/init.sh
После того, как вы выполнили все описанные выше действия, пришло время создать ноду, запустив:
cd ./node/standalone
cargo build --release
Если в терминале появляется ошибка , вручную добавьте Rust в систему (или перезапустите систему):
source $HOME/.cargo/env
Примечание:
Первоначальная сборка займет некоторое время. В зависимости от вашего оборудования вы должны ожидать около 30 минут для завершения процесса сборки.
Вот как должен выглядеть конец сборки:
Затем вы должны запустить ноду в режиме разработки, используя следующую команду:
./target/release/moonbase-standalone --dev
Примечание:
Для людей, не знакомых с Substrate, — dev это способ запустить ноду на основе Substrate в конфигурации разработчика с одной нодой для целей тестирования. Вы можете узнать больше о — dev в этом руководстве по субстратам.
Вы должны увидеть следующее:
Нода Moonbeam предоставляет две конечные точки RPC:
- HTTP: http://127.0.0.1:9933
- WS: ws://127.0.0.1:9944
Начало работы с Docker
Альтернативой описанным выше шагам является использование Docker для запуска двоичного файла предварительной сборки. Таким образом вы избавляетесь от необходимости устанавливать Substrate, а также можете пропустить процесс сборки ноды. Единственное требование — установить Docker, а затем вы можете выполнить следующую команду, чтобы загрузить соответствующий образ:
docker pull purestake/moonbase:tutorial-v3
Конец консоли должен выглядеть так:
После загрузки образа Docker вы можете запустить его со следующей строкой:
docker run --rm --name moonbeam_standalone --network host \
purestake/moonbase:tutorial-v3 /moonbase/moonbase-standalone --dev
В случае успеха вы должны увидеть результат, аналогичный предыдущему, показывающий, что блоки создаются:
Докер для MacOS
Если вы используете MacOS, вам нужно будет опустить — network host, поскольку MacOS не позволяет вам использовать этот параметр. Вам нужно будет явно открыть серверы RPC / WS для внешних подключений, используя флаги — ws-external и — rpc-external:
docker run --rm --name moonbeam_standalone -p 9944:9944 -p 9933:9933 \
purestake/moonbase:tutorial-v3 \
/moonbase/moonbase-standalone --dev --ws-external --rpc-external
Подключение приложений Polkadot JS к локальному узлу Moonbeam
Нода Moonbeam — это нода на основе Substrate, поэтому мы можем взаимодействовать с ним, используя стандартные инструменты Substrate. Начнем с подключения к нему с помощью Polkadot JS Apps.
Откройте браузер, чтобы: https://polkadot.js.org/apps/#/explorer. Откроется приложение Polkadot JS Apps, которое автоматически подключается к Polkadot MainNet.
Щелкните в верхнем левом углу, чтобы открыть меню для настройки сетей, а затем перейдите вниз, чтобы открыть меню «Разработка»(Development sub-menu) . Там вы должны переключить опцию «Локальная нода»(Local Node), которая указывает приложениям Polkadot JS на ws://127.0.0.1:9944. Затем нажмите кнопку «Переключить»(Switch), и сайт должен подключиться к вашей ноде Moonbeam.
При подключении Polkadot JS Apps вы увидите ноду Moonbeam, производящую блоки.
Запрос состояния учетной записи
С выпуском Moonbase Alpha v3 Moonbeam теперь работает в формате единой учетной записи, который представляет собой H160 в стиле Ethereum и теперь также поддерживается в приложениях Polkadot JS. Чтобы проверить баланс адреса, вы можете просто импортировать свою учетную запись на вкладку «Учетные записи»(Accounts tab). Вы можете найти более подробную информацию на этом сайте.
Тем не менее, используя все возможности Ethereum RPC Moonbeam, вы также можете использовать MetaMask для проверки баланса этого адреса. Кроме того, вы также можете использовать другие инструменты разработки, такие как Remix, и Truffle.
Подготовлено при участии: GameOver#9212, Lyn.