July 22, 2023

Установка ноды Madara

Всем привет, в эфире MMS!

И сегодня мы вам покажем установку узла Madara, а пока вот вам небольшое интро этого аниме проекта.

Madara - это секвенсор для Старкнета. Написанный с использованием rust и substrate (SDK для создания блокчейна), Madara представляет собой секвенсор, созданный сообществом при поддержке команды Starkware Keep-Starknet-Strange, которая, как ожидается, станет одним из основных секвенсоров, участвующих в децентрализации Starknet.

Madara позволяет запустить свой собственный Starknet appchain или L3 и использовать возможности Cairo, сохраняя полный контроль над своим собственным appchain, созданным в соответствии с вашими специфическими требованиями. Madara предназначена для реализации множества проектов и стимулирует рост экосистемы Starknet.

В Madara присутствует 2 типа узлов:

  • Full node
  • Sequencer node

Full - как мы привыкли просто хранит данные блокчейна

Sequencer - это узел валидатора, который участвует в консенсусе сети

В этом гайде мы покажем установку Full в существующей сети Sharingan v2, поскольку для Sequencer необходимы монеты, которых в данный момент нету в свободном доступе. Хотя если вы dev, вы можете поднять собственную локальную цепь, в гитхабе проекта есть исходники faucet-а и попробовать помочь проекту своими знаниями

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

Website:
https://www.madara.zone/

Github:
https://github.com/keep-starknet-strange/madara

Docs:
https://docs.madara.zone/

Telemetry:
https://telemetry.madara.zone/

Explorer: https://polkadot.js.org/apps/?rpc=wss%3A%2F%2Fsharingan.madara.zone#/explorer

Telegram: https://t.me/MadaraStarknet

Twitter:
https://twitter.com/MadaraStarknet

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

Поскольку проект еще на ранней стадии, на данный момент требования к серверу незначительные, но все еще может поменяться.

  • 4GB RAM
  • 2 vCPU
  • 100GB SSD/NVMe

Порты

  • P2P Port - 30333
  • RPC Port - 9933

Установка

Обновляем сервер

sudo apt update && sudo apt upgrade -y

Устанавливаем необходимые зависимости

sudo apt install make clang git pkg-config libssl-dev build-essential git gcc chrony curl jq ncdu bsdmainutils htop net-tools lsof fail2ban wget protobuf-compiler -y

Устанавливаем Rust
При установке выбираем первый пункт

curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh

Добавляем переменную в путь

echo "export PATH="$HOME/.cargo/bin:$PATH >> $HOME/.bash_profile 
source .bash_profile

Проверяем на работоспособность, должно показать версию

rustup show

Задаем переменную с именем вашей ноды

YOUR_MONIKER=CHANGE_THIS

Клонируем репозиторий

git clone https://github.com/keep-starknet-strange/madara

Билдим бинарный файл и перемещаем его

Билд может занять >20 мин
cd $HOME/madara
git checkout v0.1.0-testnet-sharingan-beta.8.2
cargo build --workspace --release
mv $HOME/madara/target/release/madara /usr/local/bin/

Создаем сервисный файл

tee /etc/systemd/system/madara.service > /dev/null <<EOF
[Unit]
Description="Madara Full Node"
After=network.target
StartLimitIntervalSec=0

[Service]
User=$USER
Type=simple
Restart=on-failure
RestartSec=10
SyslogIdentifier=madara
SyslogFacility=local7
KillSignal=SIGHUP
ExecStart=/usr/local/bin/madara \
     --port 30333 \
     --rpc-port 9933 \
     --testnet sharingan \
     --name "$YOUR_MONIKER" \
     --telemetry-url 'wss://telemetry.madara.zone/submit 0'

[Install]
WantedBy=multi-user.target
EOF

Запускаем ноду и смотрим логи

systemctl daemon-reload && \
systemctl enable madara && \
systemctl restart madara && \
journalctl -fu madara -o cat

Рабочий каталог со всей информацией о сети, в том числе и базой данных вы можете найти по пути:

cd $HOME/.madara

В будущем этот гайд будет наверняка еще дополняться новой информацией, поэтому если вам интересен этот проект, вы можете сохранить его себе!

Большое спасибо, за внимание и уделенное время

Наш телеграм канал по нодам — https://t.me/mmsnodes
Наш телеграм чат по нодам - https://t.me/mmsnodeschat
Наш телеграм канал по экосистеме Cosmos - https://t.me/cosmochannel_mms

С уважением, MMS_Team