Moonbeam | Testnet
⠀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
. <(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! — изучение проекта, написание статьи