В попытке претендовать на дроп от проекта Farcaster и соцсети Warpcast, можно попробовать развернуть ноду.
Постарался написать подробную инструкцию, предусмотрев множество вопросов, которые не раскрываются в других источниках.
Арендуем сервер
Я взял на XorekCloud VPS в Германии, тариф DE-i9-16 за 1400 руб, с таким конфигом: 8 vCPU, 16Gb RAM, 240Gb NVMe. Рекомендую диск брать от 200Gb, не смотря на то, что в оф доках пишут про 40Gb, которых нифига не хватает на данные, подтягиваемые нодой.При установке выбираем Ubuntu 22, конечно же.
Регаем свои RPC
Заходим на Alchemy и регаемся. После этого переходим в свой аккаунт и слева в меню выбираем раздел «Apps», далее «Create new app». Там задаём любое название и сохраняем.После создания приложения, заходим внутрь и выбираем вкладку «Networks». Там нам понадобятся RPC сетей Ethereum и Optimism.
Пока оставляем вкладку открытой, мы к ней ещё обратимся.
Копируем Farcaster ID
Либо с телефона в приложении, либо с компа на Warpcast заходим в «Profile», далее вверху "..." и во всплывашке жмём «About».Оттуда нам скоро понадобится скопировать FID.
Разворачиваем ноду
Пока мы совершали все эти действия, наш сервер должны уже были активировать. Вам на почту должны придти доступы.Заходим через терминал по протоколу SSH и выполняем команды по очереди:
sudo apt update -y && sudo apt install -y screen git zip unzip mc nano htop cron libyaml-dev iptables-persistent && dpkg -L iptables-persistentВ процессе спросит два вопроса про сохранение IPv4 и IPv6 правил. Говорим «Yes».
После этого сразу открываем порты 2281, 2282 и 2283 для доступа входящих и исходящих соединений:
sudo iptables -A INPUT -p tcp --dport 2281 -j ACCEPT sudo iptables -A INPUT -p tcp --dport 2282 -j ACCEPT sudo iptables -A INPUT -p tcp --dport 2283 -j ACCEPT sudo iptables-save > /etc/iptables/rules.v4 sudo iptables -L -v -n
После этого выполняем команду установки самой ноды:
curl -sSL https://download.thehubble.xyz/bootstrap.sh | bashПри установке будут три вопроса, в поле первого копируем из Alchemy наш Ethereum RPC, во второй – Optimism RPC, в третий Farcaster ID (FID из Warpcast).
После успешной установки приложение выдаст логи:
Можно выйти комбинацией клавиш Ctrl+C, приложение при этом не завершится.
Теперь нужно будет подождать несколько часов, пока нода синхронизируется с текущим состоянием сети.
Следим за нодой
Для того, чтобы отслеживать работу ноды, можно перейти в браузере по IP вашего сервера, подставив 3000 порт. Будет выглядеть так:http://SERVER_IP:3000
Полезные команды
Обновить ноду:cd ~/hubble && ./hubble.sh upgrade
Проверить место занятое докером:
docker system df
Очистить место занятое докером впустую:
docker image prune -f && docker volume prune -f && docker container prune -f && docker system prune -f && docker volume rm $(docker volume ls -q) && docker image rm $(docker image ls -f dangling=true -q)
Просмотреть логи:
docker logs hubble-hubble-1 --since 1m -f
Удалить ноду:
rm -rf /root/hubble && docker container stop $(docker container ls -aq) && docker container rm -f $(docker container ls -aq) && docker image rm $(docker image ls -q) && service docker restart
Возможные ошибки
Пробуем решать проблемы, связанные с нодой Farcaster. Если сталкиваетесь с ошибками, не описанными здесь, то пишите об этом в комментариях.Статус «Starting up… Please wait» на дашборде
На дашборде Grafana по адресу http://SERVER_IP:3000 многие блоки показывают статус «Starting up… Please wait». Можно попробовать запустить команду обновления ноды:cd ~/hubble && ./hubble.sh upgradeЭто должно помочь решить проблему.