Экосистемы
December 7, 2021

Moonbeam | Testnet

Let's Node!

⠀Moonbeam — это блокчейн, который позволяет использовать для разработки приложений в сети Polkadot набор инструментов схожий с набором в сети Ethereum.


Содержание


Информация о проекте

К содержанию

Описание

⠀Moonbeam — это блокчейн, ориентированный на разработчиков, который позволяет использовать для разработки приложений в сети Polkadot набор инструментов схожий с набором инструментов в сети Ethereum.

⠀Moonbeam делает это, предоставляя:

  • Полную реализацию EVM;
  • API-интерфейс, совместимый с Web3;
  • Мосты, которые соединяют Moonbeam с существующими сетями Ethereum.

⠀Это позволяет разработчикам развертывать существующие Solidity смарт-контракты и интерфейсы DApp в Moonbeam с минимальными изменениями кода.


Требования к серверу

К содержанию

Минимальные (VPS/VDS/DS):
8 CPU, 16 GB RAM, 250 GB SSD, Ubuntu 20.04

⠀По мере роста сети требования к серверу будут повышаться.


Запуск

К содержанию

⠀Все действия выполнять от имени root пользователя. Каждый подраздел — отдельный вид установки, нужно выбрать один из них.

Linux (ручной)

Для новичков

⠀Обновить пакеты и систему

sudo apt update && sudo apt upgrade -y

⠀Установить необходимые пакеты

sudo apt install wget jq bc build-essential -y

⠀Установить Docker

. <(wget -qO- https://raw.githubusercontent.com/SecorD0/utils/main/installers/docker.sh)

⠀Создать директорию, в которой будут храниться данные

mkdir -p $HOME/.moonbase-alpha

⠀Выдать права на использование директории

sudo chown -R $(id -u):$(id -g) $HOME/.moonbase-alpha

⠀Придумать название ноды, запустить команду и ввести название, тем самым добавить его в систему в виде переменной

. <(wget -qO- https://raw.githubusercontent.com/SecorD0/utils/main/miscellaneous/insert_variable.sh) -n moonbeam_moniker

Коллатор (валидатор)

⠀Запустить контейнер с нодой коллатором

docker run -dit --name moonbeam_node --restart always --network host -v $HOME/.moonbase-alpha:/data -u $(id -u ${USER}):$(id -g ${USER}) purestake/moonbeam \
  --base-path /data \
  --chain alphanet \
  --name "$moonbeam_moniker" \
  --validator \
  --execution wasm \
  --wasm-execution compiled \
  --pruning archive \
  --state-cache-size 1 \
  --db-cache `bc <<< "$(cat /proc/meminfo | awk 'NR == 1 {print $2}')/2024"` \
  -- \
  --execution wasm \
  --pruning archive \
  --name "$moonbeam_moniker (Embedded Relay)"

Полная нода

⠀Запустить контейнер с полной нодой

docker run -dit --name moonbeam_node --restart always --network host -v $HOME/.moonbase-alpha:/data -u $(id -u ${USER}):$(id -g ${USER}) purestake/moonbeam \
  --base-path /data \
  --chain alphanet \
  --name "$moonbeam_moniker" \
  --execution wasm \
  --wasm-execution compiled \
  --pruning archive \
  --state-cache-size 1 \
  --db-cache `bc <<< "$(cat /proc/meminfo | awk 'NR == 1 {print $2}')/2024"` \
  -- \
  --execution wasm \
  --pruning archive \
  --name "$moonbeam_moniker (Embedded Relay)"

Продолжение

⠀Добавить команды в систему в виде переменных:

  • Просмотр лога ноды;
  • Просмотр информации о ноде.
. <(wget -qO- https://raw.githubusercontent.com/SecorD0/utils/main/miscellaneous/insert_variable.sh) -n moonbeam_log -v "docker logs moonbeam_node -fn 100" -a
. <(wget -qO- https://raw.githubusercontent.com/SecorD0/utils/main/miscellaneous/insert_variable.sh) -n moonbeam_node_info -v ". <(wget -qO- https://raw.githubusercontent.com/SecorD0/Moonbeam/main/node_info.sh) -l RU 2> /dev/null" -a

⠀Удостовериться, что нода запустилась и начала синхронизироваться

moonbeam_log

Linux (автоматический)

Для продвинутых

Коллатор (валидатор)

⠀Запустить скрипт, ввести название ноды и дождаться окончания установки

. <(wget -qO- https://raw.githubusercontent.com/SecorD0/Moonbeam/main/multi_tool.sh)

Полная нода

⠀Запустить скрипт, ввести название ноды и дождаться окончания установки

. <(wget -qO- https://raw.githubusercontent.com/SecorD0/Moonbeam/main/multi_tool.sh) -fn


Информация о ноде

К содержанию

Командная строка

⠀Добавить команду для просмотра информации о ноде в систему в виде переменной

. <(wget -qO- https://raw.githubusercontent.com/SecorD0/utils/main/miscellaneous/insert_variable.sh) -n moonbeam_node_info -v ". <(wget -qO- https://raw.githubusercontent.com/SecorD0/Moonbeam/main/node_info.sh) -l RU 2> /dev/null" -a

⠀Посмотреть информацию о ноде

moonbeam_node_info

Браузер

⠀Информацию о ноде, например о текущей высоте, можно получить на сайте Polkadot телеметрии, начав вводить на клавиатуре название ноды.


Обновление

К содержанию

Ручное

⠀Обновить образ

docker pull purestake/moonbeam

⠀Остановить ноду

docker stop moonbeam_node

⠀Удалить контейнер с нодой

docker rm moonbeam_node

Коллатор (валидатор)

⠀Запустить контейнер с нодой коллатором

docker run -dit --name moonbeam_node --restart always --network host -v $HOME/.moonbase-alpha:/data -u $(id -u ${USER}):$(id -g ${USER}) purestake/moonbeam \
  --base-path /data \
  --chain alphanet \
  --name "$moonbeam_moniker" \
  --validator \
  --execution wasm \
  --wasm-execution compiled \
  --pruning archive \
  --state-cache-size 1 \
  -- \
  --pruning archive \
  --name "$moonbeam_moniker (Embedded Relay)"

Полная нода

⠀Запустить контейнер с полной нодой

docker run -dit --name moonbeam_node --restart always --network host -v $HOME/.moonbase-alpha:/data -u $(id -u ${USER}):$(id -g ${USER}) purestake/moonbeam \
  --base-path /data \
  --chain alphanet \
  --name "$moonbeam_moniker" \
  --execution wasm \
  --wasm-execution compiled \
  --pruning archive \
  --state-cache-size 1 \
  -- \
  --pruning archive \
  --name "$moonbeam_moniker (Embedded Relay)"

Автоматическое

⠀Запустить скрипт и дождаться окончания работы

. <(wget -qO- https://raw.githubusercontent.com/SecorD0/Moonbeam/main/multi_tool.sh) -u


Вклад сообщества

К содержанию

Наша команде не несёт ответственности за возможные негативные последствия, поскольку не может гарантировать безопасность использования представленных инструментов

Как сюда попасть?

⠀Чтобы попасть в этот почётный раздел необходимо написать SecorD’у сообщение с информацией об инструменте:

  • Название проекта;
  • Краткое название в 2-3 слова (будет использоваться как заголовок);
  • Описание, которое будет добавлено в статью (зачем нужно, функционал, как использовать, другая полезная информация, желательно со скриншотами).

⠀Что это даёт?

  • Пользу сообществу;
  • Возможность заявить о себе;
  • Дополнительную возможность представления доказательств контрибуции в различных проектах.

Полезные команды

К содержанию

⠀Доступные переменные (при использовании убрать echo)

echo $moonbeam_moniker

⠀Посмотреть лог ноды

moonbeam_log
docker logs moonbeam_node -fn 100

⠀Перезапустить ноду

docker restart moonbeam_node

Полезные ссылки

К содержанию

Официальный сайт проекта | Официальная группа Telegram

Русскоязычная группа Telegram | Discord | Twitter | Reddit | GitHub

Официальная документация | Телеметрия


Благодарности

К содержанию

Всем из раздела «Вклад сообщества»

Команда Let’s Node! — изучение проекта, написание статьи

Выразить благодарность