June 13, 2022

Гайд на StarkNet

Сервер для ноды можно брать такой 2ядра 2 ГБ RAM и 100Гб дискового пространства.

Берём как обычно, новый сервер и подключаемся к нему. Если есть вопросы по созданию сервера где и как то пишите в чате.

За основу взял гайд от НодГуру потому что вручную там заморочено а у них всё красиво оформлено в 1 команду - понравилось.
Итак, начнём.

Если у вас уже запущена нода и ставили вы её по моему гайду то:

Удаление прошлой ноды:

systemctl stop starknetd
systemctl disable starknetd
rm -rf ~/pathfinder/
rm -rf /etc/systemd/system/starknetd.service
rm -rf /usr/local/bin/pathfinder

Установка

Если вы хотите запустить ноду на Layer 2 (StarkNet), вам также необходимо знать, что происходит на Layer 1 (Ethereum), поскольку наша нода будет вычислять состояние StarkNet и подтверждать его на L1.

Таким образом, нам необходимо получить доступ к полному архиву ноды L1. Вы можете сделать это, подключившись к своему узлу L1 или, если у вас нет узла, создайте учетную запись у стороннего поставщика API, например Alchemy или Infura (мы выберем первое)

  • Переходим на Alchemy.com и регистрируемся.
  • В Dashboard нажмите Create App
  • Теперь задаем следующие параметры (название и описание можно оставить любыми) и нажимаем Create App

Смотрим ключ подключения и скопируем HTTPS адрес вашего приложения:

Вставляем его вместо YOUR_ALCHEMY_HTTP_ADDRESS в команду ниже. Обратите внимание на пробелы, их не должно быть.

ALCHEMY=YOUR_ALCHEMY_HTTP_ADDRESS

Запомним это значение:

echo 'export ALCHEMY='$ALCHEMY >> $HOME/.bash_profile

Ну и, собственно, всё :) дальше запускаем следующую команду от команды нодсгуру (спасибо им) и наслаждаемся процессом установки:

wget -O starknet.sh https://api.nodes.guru/starknet.sh && chmod +x starknet.sh && ./starknet.sh

Дополнение

Команда проверки логов:

journalctl -u starknetd -f

Проверка версии ноды :

pathfinder -V

Перезапуск ноды:

systemctl restart starknetd

Удаление ноды:

systemctl stop starknetd
systemctl disable starknetd
rm -rf ~/pathfinder/
rm -rf /etc/systemd/system/starknetd.service
rm -rf /usr/local/bin/pathfinder

Обновление (кто ставит впервые тому не актуально):

Это я сделал сразу на будущее, когда и если обновление будет, то это можно будет сделать так:

Заходим на сервер

cd ~/pathfinder 
git fetch 

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

git checkout v0.3.5

Актуальную версию смотрим по ссылке в самом верху списка. Если она отличается от той что тут приведена в команде выше то исправляем на нужную и ставим ;) я буду подправлять но вдруг вы быстрее :)

cargo build --release --bin pathfinder 
mv ~/pathfinder/target/release/pathfinder /usr/local/bin/ 
cd py 
source .venv/bin/activate 
PIP_REQUIRE_VIRTUALENV=true pip install -r requirements-dev.txt 

Всё скачано, установлено, осталось запустить ноду:

systemctl restart starknetd