July 9, 2022

Определяем конфликтность нод

Приветик всем, с вами Олег из Rabbit Hole) Давно меня не было на канале, не хватало времени, да и отдохнуть хотелось) Надеюсь вы тоже не тратили время впустую, отдыхали или развивались. Без релакса, любая работа - не работа, а каторга, приводящая к выгоранию. Мотайте на ус.

Давненько не было статей по нодам, поэтому встречайте полезный материал для новичков). Первое, что вам необходимо освоить - это терминал. Понять какие команды за что отвечают и зачем это всё нужно. После чего, как определить конфликтность нод и проверить статус их работы.

Основные команды

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

ls - вывести содержание текущего каталога. Например, вы находитесь в папке node, в ней есть папка aptos и файл start.sh. При вводе команды вы получите aptos и start.sh
cd - перейти в директорию, по полному или относительному пути. Например, если вы находитесь в папке node и хотите попасть в папку aptos, то используйте cd aptos. Однако, если вы находитесь в домашней директории и все же хотите попасть в папку aptos, то вам необходимо использовать cd /node/aptos/
cd .. - для выхода из подкаталога, например, при использовании, из папки aptos вы попадете в node
mkdir <название>- создание новой папки
touch <название>- создание нового файла
rm -r <название> - удаление папки
rm <название> - удаление файла
nano <название> - открыть файл в текстовом редакторе. Для сохранения информации нажимаем CTRL+X, потом Y (N если не хотите сохранять) и Enter
apt install <название> - установка модуля, например python
apt remove <название> - удаление модуля, тут всё понятно)
sudo - выполнения команд от "имени администратора"
&& - используем данные символы для выполнения команд последовательно. Это значит, что команды будут выполняться слева направо, каждая после выполнения предыдущей. Пример ниже)
bashtop - мониторинг нагрузки на систему, для тех, кто не ставил по прошлому гайду - ловите команду) Если запросит Y/N - вводим Y

sudo apt install build-essential && sudo apt install git && git clone https://github.com/aristocratos/bashtop.git && cd bashtop && sudo make install

Самое сладкое

Мы выучили базовые команды для терминала, которые помогут нам в установке нод. Предположим, вы хотите поставить несколько нод, но как же определить их конфликтность?

Запомните одно важное правило - если вы ставите несколько нод одной сети, например Starknet и Oasys (сеть ETH) - они скорее всего будут конфликтовать. Как портами, так и системными файлами, так как данные ноды могут использовать одну директорию для работы. Ещё примеры - SubSpace и Gear - сеть Polkadot, соответственно могут быть проблемы.

Если вы ставите ноды индивидуальных блокчеинов, таких как Minima, Aptos, Iron Fish, то проблем с конфликтностью файлов возникнуть не должно.

Перейдём ко второй проблеме - а именно конфликтность портов. Каждая нода работает на своих портах и они могут конфликтовать, чтобы такого не было - вводим данную команду и смотрим какие порты заняты нодой. Как правило, если сеть одна, то порты будут конфликтовать (обожаю это слово, дада). В этом случае их нужно менять в конфиге ноды.

sudo netstat -tulpn | grep LISTEN
Первое - это сам порт. Второе - название ноды, чтобы было понятнее

Вывод - гуглим ноду какой сети вы ставите, если сеть одна - то ваши ноды будут конфликтовать, также не забываем чекать порты. Для фикса проблемы используем докер и меняем порты

Проверка статуса работы ноды

Команда для проверки статуса обычно находится в гайде. Привожу список наиболее часто используемых команд

systemctl status <название сервиса> - проверка статуса работы ноды, если она установлена через сервис
journalctl -u <название сервиса> -f -o cat - логи, если нода установлена через сервис
docker logs -f --tail 100 <название контейнера> - логи, если нода установлена через докер

На сегодня всё) С любовью, Олег из Rabbit Hole