October 6, 2022

Ноды для новичков

Что такое ноды и зачем они нужны?

Нода - узел подключенный к сети (будь то блокчейн или какая-либо другая сеть).

Ноды выполняют различные функции, от обработки блоков, до поддержания безопасности сети. В нашей необъятной крипте существует множество блокчейнов и блокчейн-приложений, которые нуждаются в нодах и валидаторах для различных задач. Обычно для того чтобы проект запустился без критических ошибок команда проводит тестовые сети для их выявления, а пользователю, который помогал проекту на протяжении какого-то количества времени, могут выдать награды за проделанную работу.

Для запуска ноды нужно оборудование, ни в коем случае не ставьте ноду на своем домашнем пк (если у вас не сервер конечно), так как тестнет может идти не один месяц. Для этого нам понадобятся сервера (преимущественно на Linux(Ubuntu), на которых мы и будет запускать ноды.

Сервера

Для того чтобы поставить ноду нам обязательно нужен хостинг, где мы возьмем сервер, данный вопрос не универсален, для разных нод нужны разные сервера, в основном нам будут нужны либо VPS, либо VDS (в редких случаях DS).

Для того чтобы определиться какой сервер нам арендовать нужно посмотреть требования к серверу в документации проекта, нужно понимать, что если проект построен на PoS, то в большинстве своем нам нужны будут VPS, в отличие от PoW, где нам потребуется более дорогостоящие VDS или DS, все из-за риска бана от хостинга из-за майнера на VPS, происходит это из-за типа виртуализации, но в это вдаваться нам нет смысла, просто нужно знать основные правила -

VPS = в большинстве своем PoS.
VDS или DS = PoW.

Какие есть хостинги?

Могу порекомендовать:

Арендовать сервер можно на одном из предоставленных хостингов.

Hetzner - немецкий хостинг (не принимает ру карты), работает с 1997 года, дают €20 за регистрацию.

Digital Ocean - (не принимает ру карты), американский хостинг есть бесплатный период пользования, дают $200 на 2 месяца за регистрацию.

VDSINA - ру хостнг поддерживает пополнение криптой, и всеми другими способами оплаты.

Zomro - ру хостинг (принимает крипту и ру карты).

Copertino - ру хостинг (принимает крипту и ру карты), можно снимать сервера посуточно.

Vultr - дают $100 на сервера за регистрацию.

SSH и SFTP клиент

Для подключения к серверу нам понадобятся программы, через которые это нужно делать. Нам нужен:

SSH клиент - программа, которая позволяет удаленно управлять сервером посредством SSH протокола.

SFTP клиент - программа для передачи файлов по SFTP протоколу (в основном нужно для бэкапа файлов с ноды).

В данных программах нет ничего сложного, давайте рассмотрим подробнее какие есть программы.
SSH клиенты - PuTTY, MobaXterm, Termius. (конечно существует большое множество других программ)

SFTP клиенты - в большинстве вышеперечисленных программах уже встроен SFTP клиент, однако вот небольшой список из других программ, нацеленных именно на эту задачу - FileZilla, WinSCP, FreeFTP и другие.

Давайте рассмотрим на примере программы MobaXterm как подключиться к серверу:

После установки программы нас встречает такой интерфейс. Нажимаем в левом верхнем углу на вкладку "Session".

В открывшемся окне выбираем первый пункт "SSH"

Вводим IP сервера и логин (обычно на всех хостингах по умолчанию логином является "root"), после нажимаем "OK".

У нас откроется консоль сервера, где нужно ввести пароль (когда вы вводите пароль он не будет показываться), после нажимаем клавишу ENTER.

Нам предложит сохранить пароль, нажимаем "YES".

Поздравляю! Вы подключились к своему серверу! Слева вы также можете наблюдать файловую систему своего сервера, это и есть встроенный в MobaXterm SFTP клиент.

Командная строка

В данном деле можно обойтись без глубоких знаний программирования и Linux, однако знать базовые команды для понимания происходящего желательно. Данную тему можно развивать бесконечно, но я затрону лишь малую часть.
Мы столкнемся с терминалом Linux (Ubuntu).

Горячие клавиши

↑ - перейти к предыдущей команде

↓ - перейти к следующей команде

Ctrl + C - прервать процесс

Ctrl + L - очистить экран

Tab - автоматически дописать часть строки

Ctrl + E - переместить курсор в конец строки

Ctrl + K - очищает команду от курсора вправо

Ctrl + Shift + C - копировать в буфер обмена

Ctrl + Shift + V или Shift + Insert (или клик правой кнопкой мыши) - вставить из буфера обмена

Ctrl + U - очищает текущую строку

Это не все горячие клавиши, на данном сайте предоставлено больше.

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

sudo - выполнить команду от имени суперпользователя.

sudo команда

cd - команда позволяет переходить из одной директории в другую.

cd /путь/путь/путь

mkdir - команда для создания директории.

mkdir директория

Также директории можно создавать по путям

mkdir /путь/путь/директория

touch - команда для создания файла

touch file.txt

Также файлы можно создавать по путям

touch /путь/путь/file.txt

mv - команда для перемещения и переименования файлов и директорий

mv dir /путь/путь/dir1

mv file /путь/путь/dir2

Если директории "dir2" не существует, то при команде

mv dir1 dir2

"dir1" будет переименован в "dir2"

rm - для удаления файлов, для удаления каталога

rm -rf /путь/путь/

wget - команда для загрузки файлов

wget ссылка

curl - команда загрузки файлов, но с более богатым функционалом, нежели wget

curl ссылка

echo - команда для отображения строк

echo Hello, world!

apt - набор утилит для установки, удаления, обновления, поиска пакетов в Linux

sudo apt update

cat - команда для просмотра содержимого файла

cat file.txt

Также с помощью cat можно создавать файлы

cat > file.txt

chmod - команда используется для изменения режима доступа

chmod 777 /путь/путь/путь

Первая цифра — права для владельца файла, вторая цифра - права для группы владельца, третья - права для остальных.
0 - нет прав,
1 - выполнение,
2 - изменение,
3 - выполнение и изменение,
4 - чтение,
5 - выполнение и чтение,
6 - изменение и чтение,
7 - выполнение, изменение, чтение.

Команда довольно обширная, вот вам полный гайд по команде

Заключение

Я разобрал лишь малую часть, но этой информации вполне хватит чтобы поставить вашу первую ноду. Надеюсь эта информация была полезна для вас!

Как создать ssh ключ Windows(MobaxTerm)?

1. Скачать MobaxTerm https://mobaxterm.mobatek.net/download-home-edition.html (выбрать удобный вариант установщика)

2. Открываем Tools -> MobaKeygen SSH Generator

Кликаем Generate

Снизу нажимаем Save public key и Save private key, сохраняем их в надежном месте. Ключ сверху это ваш Public Key, который вы будете использовать при создании серверов для дальнейшей авторизации.

Опция для пользователей Mac OS

Открываем терминал и вводим:

ssh-keygen

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

cat ~/.ssh/id_rsa.pub