March 24, 2022

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

Здравствуйте, здесь мы расскажем об установке ноды STARKNET.

В первую очередь нам понадобится сервер с ОС Ubuntu 20.04, нода нетребовательна и хватит минимальной конфигурации сервера 2 процессорных ядра, 2 гигабайта оперативной памяти и SSD емкостью от 400 ГБ.

Итак сервер у нас есть, подключаемся к нему через терминал (использовать можно какой кому удобно).

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

sudo apt update && sudo apt upgrade -y

По завершении процесса устанавливаем необходимые пакеты:

sudo apt install curl git build-essential libssl-dev libffi-dev libgmp-dev pkg-config -y

После установки пакетов ставим Rust:

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

когда скрипт запросит выбор нажимаем 1(default)

далее обновляем Rust:

sudo apt install cargo -y


source $HOME/.cargo/env


rustup update stable

после выполнения последняя строка будет выглядеть примерно так:

stable-x86_64-unknown-linux-gnu updated - rustc 1.62.1 (e092d0b6b 2022-07-16)

версия 1.72.0 актуальна на момент написания

На текущий момент для работы ноды python больше не нужен !!!

Далее клонируем репозиторий с github:

git clone --branch v0.8.1 https://github.com/eqlabs/pathfinder.git

Переходим в папку проекта:

cd pathfinder/

Собираем ноду:

cargo build --release --bin pathfinder

Сборка занимает минут 10, после окончания нам нужно сделать аккаунт на сайте Alchemy.com

Для этого переходим по ссылке в верхнем правом углу нажимаем "Login"

После этого в открывшемся окне нажимаем "Singup" входим под аккаунтом Google, либо вводим данные и регистрируемся

После этого на указанный email будет отправлено письмо с подтверждением

Проверяем почту, в письме нажимаем кнопку подтверждения, переходим по ссылке, и в открывшемся окне нажимаем кнопку "Get Started"

Далее заполняем данные и жмем "Create App" в поле "Team Name" пишем имя ваше или команды, в поле "App Name" пишем как будет называться ваша нода (исключительно для вашего удобства).

Далее выбираем тарифный план (по умолчанию FREE), и жмем "Continue"

Попросит ввести платежные данные, отказываемся от этого нажав "Skip for now"

Далее предложит твитнуть за вознаграждение, на ваше усмотрение, мы жмем "Skip for now"

И вот мы практически у цели в новом окне жмем "Continue"

Но не тут то было, нас просят указать как можно связаться в мессенджерах и прочее, по желанию можно ввести, а можно нажать "Let`s Go" и мы у цели.

В открывшемся окне нас интересует поле "Api Key"

Копируем данные из этого поля, именно они нужны будут для запуска ноды

Делаем сервис файл и запускаем ноду ( фразу API _KEY - заменить на свой, сгенерированный ключ )

sudo tee /etc/systemd/system/starknetd.service > /dev/null <<EOF [Unit] Description=StarkNet After=network.target [Service] Type=simple User=root WorkingDirectory=/root/pathfinder ExecStart=/root/.cargo/bin/cargo run --release --bin pathfinder -- --ethereum.url https://eth-mainnet.alchemyapi.io/v2/API_KEY Restart=always RestartSec=10 Environment=RUST_BACKTRACE=1 [Install] WantedBy=multi-user.target EOF

Далее запускаем сервис:

sudo systemctl daemon-reload sudo systemctl enable starknetd sudo systemctl start starknetd journalctl -u starknetd -f -o cat

После этого любуемся идущей синхронизацией, на момент написания было 1500 блоков. Далее возвращаемся на сайт и нажимаем на наш APP

В открывшемся окне смотрим, если цифры пошли то все хорошо и ваша нода обменивается данными.

Далее в официальном Дискорде в ветке #🛰-pathfinder-full-node хвастаемся что мы запустили ноду и она работает.

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

Дополнение связанное с некоторыми вопросами: когда вы снова подключились к серверу, после закрытия терминала, что бы увидеть статус синхронизации введите команду

journalctl -u starknetd -f -o cat

Вышло обновление pathfinder до v0.8.1 для новой установки в гайде все исправлено, для обновления сделайте следующее

rustup update stable

sudo systemctl stop starknetd cd pathfinder git fetch git checkout v0.8.1 cargo build --release --bin pathfinder cd py source .venv/bin/activate PIP_REQUIRE_VIRTUALENV=true pip install --upgrade pip PIP_REQUIRE_VIRTUALENV=true pip install -e .[dev]

И заново запускаем сервис

sudo systemctl start starknetd

Что бы увидеть статус синхронизации введите команду

journalctl -u starknetd -f -o cat

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

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

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