Farcaster нода
HODLеры, общий сбор!
Как и обещали, сегодня поиграем в погромиста-300к/наносека, подняв собственную ноду Farcaster!
Зачем?
Ноды часто кормят побаще тестнетов, и уж точно в разы лучше недавно вычпокнувшихся Tier-1. Среди самых жирных можно вспомнить Helium, io.net, Polkadot, Taiko, THORChain или Cosmos.
Плюс сюда пока не набежала толпа разочарованных ретродроперов, поэтому раньше ворвешься — больше вынесешь.
У нас есть два пути (без закладок и айти, еслишо): тру-дегенский и подешевле, либо изичный, но подороже.
Начнем с последнего, чтобы не задерживать бояр.
Платформа RapidNode предлагает уже готовые ноды под множество блокчейн-проектов, которые можно подключить в пару кликов.
Прайсы разные, в зависимости от ноды. Но обойдется все это счастье точно дороже самостоятельного подключения. Поэтому мы лучше сосредоточимся на нем. Иначе какие мы дегены?
Это может быть любой другой сервис, где тебе понравятся отзывы и цены.
Подробности здесь.
Короче, нам хватит минимального тарифа почти везде. Это от $15-30 за 1 месяц в зависимости от аху... жадности сервиса. Здесь как с VPN — чем больший срок аренды, тем выше «скидка».
Процесс создания сервера детально разжеван у каждого сервиса без исключений, потому заострять внимание на этом не будем.
Вторым шагом у нас идет терминал, который необходимо скачать на комп:
Теперь нам нужен HTTP-адрес эндпоинтов RPC Ethereum и Optimism.
Чтобы не грузить тебя кастомными RCP-решениями, заюзаем от Alchemyили Infura. Первый позволит нам бесплатно создать 2 ключа, поэтому сосредоточимся на Alchemy.
1. Заходим на сайт, регаем аккаунт и логинимся.
2. Идем в Dashboard — раздел Overview (слева), и теперь в нем (справа сверху) тыкаем Create new app.
3. Заполняем поля Name и Description, можно просто вписать Farcaster-Mainet и тыкнуть Create app.
4. В разделе Apps (слева), выбираем наше приложение (Farcaster) и копируем API key (справа вверху) в блокнот.
5. Переключаемся на вкладку Networks и также в блокнот сохрняем HTTPs-адреса Ethereum и Optimism Mainnet.
Переходим к Warpcast, где тыкаем Profile —> три точки —> About, откуда копируем свой FID и сохраняем в блокнот.
Вспоминаем про ранее установленный терминал MobaXterm и запускаем его.
1. Тыкаем по вкладке Session, выбираем SSH и вводим IP нашего сервера. Отмечаем галкой Specify username и вводим root и жмём OK.
2. Теперь вводим пароль, выданный нам ранее выбранным сервисом с виртуальными серваками, после чего по очереди вбиваем команды.
3. Обновляем ПО сервака командой: sudo apt update -y
4. Устанавливаем screen командой: sudo apt install screen -y
5. Открываем hubble командой: screen -S Hubble
6. Теперь запускаем установку скрипта командой: curl -sSL https://download.thehubble.xyz/bootstrap.sh | bash
7. Ждем пока терминал отработает сценарий и вставляем те самые эндпоинты Ethereum и Optimism, о которых мы говорили чуть выше + наш FID Warpcast. По полям тут все будет подписано, где и какая сеть, так что не ошибешься.
8. После этого снова ждем окончания установки, которая продлится еще n минут.
9. Если выдаст ошибку с docker-compose.yml — прописываем команду: apt install docker.io
10. Если ошибки не было и уже пошли логи — молодец, все пашет!
11. Последнее и самое долгое — дождаться синхронизации ноды, на что обычно уйдет от 1 до 3 часов. В логах можно заметить статус синхронизации.
В интерфейсе Thermius процесс будет практически идентичным.
В целом мы можем со спокойной душой закрывать терминал, даже не дожидаясь окончания синхронизации, поскольку нода даже в таком состоянии продолжит работу.
Теперь осталось разобраться как мониторить свою ноду!
В браузере вводим http://айпишникнашегосервера:3000
Изначально вместо данных здесь будет отображаться надписи No data, но со временем все подсосется и будут красивые графики и другой экшен. По ним можно отслеживать все ли ок (с нашими будущими миллионами) с нодой.
Из возможных косяков:
1. В идеале нам нужно открыть порт 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
Результат будет выглядеть как-то так:
Чтобы изменения в iptables сохранялись даже после перезагрузки вбей одну из команд в зависимости от операционной системы сервера.
Напоследок можешь еще раз убедиться, что изменения добавлены и все норм с помощью команды — sudo iptables -L -v -n
2. Нода должна обновляться еженедельно в автоматическом режиме. Но если ты хочешь подстраховаться, то просто вбивай команду для ее обновления вручную:
cd ~/hubble && ./hubble.sh upgrade
Все! Дружно выдыхаем и чекаем кукуху!
Если возникают ошибки или есть какие-либо вопросы — не стесняйся обращаться к коллективному КМД-GPT (в чатик, ага), поможем чем сможем!