July 7

​Farcaster нода

​HODLеры, общий сбор!

​Как и обещали, сегодня поиграем в погромиста-300к/наносека, подняв собственную ноду Farcaster!

Зачем?

​Ноды часто кормят побаще тестнетов, и уж точно в разы лучше недавно вычпокнувшихся Tier-1. Среди самых жирных можно вспомнить Helium, io.net, Polkadot, Taiko, THORChain или Cosmos.

​Плюс сюда пока не набежала толпа разочарованных ретродроперов, поэтому раньше ворвешься — больше вынесешь.

​Но вернемся к Farcaster!

​У нас есть два пути (без закладок и айти, еслишо): тру-дегенский и подешевле, либо изичный, но подороже.

​Начнем с последнего, чтобы не задерживать бояр.

​Платформа RapidNode предлагает уже готовые ноды под множество блокчейн-проектов, которые можно подключить в пару кликов.

​Прайсы разные, в зависимости от ноды. Но обойдется все это счастье точно дороже самостоятельного подключения. Поэтому мы лучше сосредоточимся на нем. Иначе какие мы дегены?

Для начала выберем себе облачный сервер по душе:

​Это может быть любой другой сервис, где тебе понравятся отзывы и цены.

Минимальная мощность сервака, необходимого для ноды:

  • 4 CPU cores or vCPUs
  • 16 Gb RAM
  • 140 Gb SSD

​Подробности здесь.

​Короче, нам хватит минимального тарифа почти везде. Это от $15-30 за 1 месяц в зависимости от аху... жадности сервиса. Здесь как с VPN — чем больший срок аренды, тем выше «скидка».

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

Вторым шагом у нас идет терминал, который необходимо скачать на комп:

  • Для Windows MobaXterm
  • Для MacOS Termius
  • Для Linuxтак, кто дал адрес канала своему деду-сисадмину? Ему таблетки уже пора пить!

​Теперь нам нужен 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

sudo iptables-save > /etc/iptables/rules.v4

sudo iptables -L -v -n

​Результат будет выглядеть как-то так:

​Чтобы изменения в iptables сохранялись даже после перезагрузки вбей одну из команд в зависимости от операционной системы сервера.

Системы с system:

  • Команда — sudo iptables-save > /etc/iptables/rules.v4

Debian/Ubuntu:

  • Команда — sudo apt-get install iptables-persistent sudo netfilter-persistent save

CentOS/RHEL:

  • Команда — sudo service iptables save

​Напоследок можешь еще раз убедиться, что изменения добавлены и все норм с помощью команды — sudo iptables -L -v -n

2. ​Нода должна обновляться еженедельно в автоматическом режиме. Но если ты хочешь подстраховаться, то просто вбивай команду для ее обновления вручную:

​cd ~/hubble && ./hubble.sh upgrade

Все! Дружно выдыхаем и чекаем кукуху!

Если возникают ошибки или есть какие-либо вопросы — не стесняйся обращаться к коллективному КМД-GPT (в чатик, ага), поможем чем сможем!