В данной инструкции мы установим ноду блокчейна Идена (Node Idena Blockchain) как сервис, чтобы она запускалась, автоматически, при перезагрузке сервера.
Я надеюсь Вы уже защитили свой сервер согласно инструкций:
Можно не переживать за ноду которую мы настроим?
Ну что же, давайте приступим!
Первым делом нужно убедиться в том, что мы находимся на сервере под нужным пользователем.
❗️ НЕ рекомендую производить установку Node Idena под пользователем «root» - это не безопасно, но каждый решает сам за себя.
❗️❗️ Если производите действия под пользователем root - вносите соответствующие изменения в ходе установки. Данная инструкция подразумевает под собой установку ноды под любым пользователем кроме root.
Для того чтобы убедиться нужно обратить внимание вот на эту строчку:
Если указан иной пользователь - вводим команду и нажимаем «Enter»
su - USERNAME
где USERNAME – это имя пользователя на которого переключаемся, в моем случае команда выглядела бы так: su - andrey
Теперь нужно создать директорию в которую будем производить установку Node Idena (ноду Айдена/ноду Идена - кому как нравится).
Вводим команду и нажимаем «Enter»:
mkdir idena
Переходим в созданную директорию - вводим команду и нажимаем «Enter»:
cd idena
устанавливаем idena в созданную директорию - водим команду целиком (начиная с «wget» )и нажимаем «Enter»:
wget https://github.com/idena-network/idena-go/releases/download/v0.27.3/idena-node-linux-0.27.3
где idena-node-linux-0.27.3 – это имя файла с указанием номера версии. Как правило, достаточно изменить только цифры, если требуется. По состоянию на 28.10.2021 последняя версия 0.27.3
Актуальную версию всегда можно найти по этой ссылке:
https://github.com/idena-network/idena-go/releases/
После ввода команды установки мы увидим процесс самой установки и по завершению система ожидает дальнейшей команды:
После завершения установки файл запуска IDENA будет иметь следующий вид: «idena-node-linux-0.27.3», но данный вид файл не удобен и поэтому следующей командой мы приведем его к универсальному виду:
mv idena-node-linux-0.27.3 idena-go
После ввода этой команды, стартовый файл имеет вид: «idena-go»
Чтобы в этом убедиться, вводим следующую команду нажимаем «Enter»:
ls -la
отображение файлов и директорий того места где мы сейчас находимся
Название файла запуска «idena-go»
Идём дальше!
Теперь нужно дать права на запуск ноды IDENA.
Вводим команду и нажимаем нажимаем «Enter»:
chmod +x idena-go
Следующей командой создаем файл конфигурации.
Копируем и вставляем весь блок текста целиком:
cat > $HOME/idena/config.json <<EOF
{
"DataDir": "datadir",
"P2P": {
"MaxInboundPeers": 12,
"MaxOutboundPeers": 6
},
"IpfsConf": {
"Profile": "server",
"IpfsPort": 40405,
"BlockPinThreshold": 0.3,
"FlipPinThreshold": 0.5,
"AllFlipsLoadingTime":21600000000000
},
"RPC": {
"HTTPHost": "localhost",
"HTTPPort": 9009
},
"Sync": {
"FastSync": true,
"LoadAllFlips": true
}
}
EOF
Нажимаем «Enter»
Теперь создаем сервис для IDENA.
Копируем и вставляем весь блок текста целиком:
cat > $HOME/idena/idena.service <<EOF
[Unit]
Description=Idena Node
After=network.target
StartLimitIntervalSec=0
[Service]
Type=simple
User=$USER
WorkingDirectory=$HOME/idena/
ExecStart=$HOME/idena/idena-go --config $HOME/idena/config.json
Restart=on-failure
RestartSec=60
LimitNOFILE=1000000
[Install]
WantedBy=multi-user.target
EOF
Нажимаем «Enter»
Отправляем созданный сервис систему (потребует пароль текущего пользователя):
sudo mv idena.service /etc/systemd/system/
Вводим пароль от текущего пользователя и нажимаем «Enter»
Обновляем конфигурацию всех служб (сервисов):
sudo systemctl daemon-reload
Подключаем созданный сервис IDENA:
sudo systemctl enable idena.service
Запускаем сервис IDENA:
sudo systemctl start idena.service
❗️ Всё, нода запущена и уже начала синхронизацию!
Для того чтобы удостовериться в том, что нода запущена нужно отобразить логи ноды, для этого воспользуемся командой представленной НИЖЕ (в блоке управления): «Посмотреть идущие логи ноды IDENA».
Отобразится вот такое окно в котором будут появляться строчки, как на этом скриншоте:
Если в логах вот такие строчки - это означает, что мы забыли дать права на запуск:
Далее для информации - вводить не нужно
-- Блок управления --
Посмотреть идущие логи ноды IDENA:
journalctl -fu idena
чтобы выйти из них начать «Ctrl+С»
Остановить сервис IDENA:
sudo systemctl stop idena.service
Запустить сервис IDENA:
sudo systemctl start idena.service
Перезапустить сервис IDENA:
sudo systemctl restart idena.service
Отключить сервис и его автоматическую загрузку:
sudo systemctl disable idena.service
Подключить сервис и его автоматическую загрузку:
sudo systemctl enable idena.service
Вот вроде бы и всё, но нет же - остались не менее важные моменты:
1. Нужно вытащить API.KEY для вставки его в клиента IDENA, который установлен на локальном ПК.
2. Нужно сохранить содержимое файла NODEKEY (если нода установлена впервые), если нода переносится с локального ПК или другого сервера - нужно на новом сервере стереть содержимое файла NODEKEY и вместо него вставить NODEKEY которым уже пользовались так как он уже активирован.
Здесь, забегая вперед, хочу сказать следующее:
❗️ Никогда и ни при каких обстоятельствах никому не показывай содержимое этого файла.
Грубо говоря, это пароль от вашего кошелька и сам кошелек IDENA
Итак, приступим к завершающим процессам!
После запуска ноды IDENA в директории «idena» появилась директория «datadir» - переходим в нее введя команду:
cd datadir
Вводим команду для отображения списка содержимого директории «datadir»:
ls -la
Здесь мы видим содержимое директории «datadir» - сейчас нас интересует файл: «api.key»:
Далее Вводим команду и нажимаем «Enter»:
cat api.key && echo
Отобразится содержимое файла «api.key» (это ключ API):
Аккуратно выделяем весь ключ ЛКМ - всё, что до имени пользователя (скопируется автоматически) и сохраняем его где-нибудь на локальном ПК - он нам пригодится чуть позже.
Напоминаю: ЛКМ - Левая Кнопка Мыши, ПКМ - соответственно, Правая Кнопка Мыши
Теперь нам нужно:
- либо сохранить содержимое файла «nodekey» находящегося на этом сервере (если нода устанавливается впервые)
- либо вместо содержимого файла «nodekey», находящегося на этом сервере, вставить ключ NODEKEY, который мы использовали ранее на локальном ПК или другом сервере (активированный ключ).
Для выполнения данной задачи нам нужно перейти в директорию «keystore».
Вводим команду и нажимаем «Enter»:
cd keystore
Для отображения содержимого директории вводим команду и нажимаем «Enter»:
ls -la
Отобразится всего один файл «nodekey»:
ЕЩЕ РАЗ, ЕСЛИ КТО-ТО ЗАБЫЛ ИЛИ НЕ ПОНЯЛ:
❗️ Никогда и ни при каких обстоятельствах никому не показывай содержимое этого файла.
Далее по обстоятельствам (один из двух вариантов):
- Если нужно заменить приватный ключ на сервере - открываем содержимое файла командой (предельная аккуратность):
nano nodekey
стираем ключ и вставляем свой - тот которым уже пользовались ранее на другом сервере или локальном ПК (это обычно при переносе ноды).
После замены приватного ключа нужно выйти из файла нажав на «Ctrl+X»
Если ключ подлежал замене - нажимаем на клавиатуре латинскую букву «y» (подтверждение внесенных изменений) и жмём «Enter».
- Если нода устанавливается впервые с последующей активацией - нужно сохранить приватный ключ где-нибудь на локальном ПК или облачном хранилище (храните его как зеницу ока) - используем эту команду чтобы ничего, случайно, не стереть:
Открываем содержимое файла командой:
cat nodekey && echo
Отобразится приватный ключ, без возможности редактирования:
Собственно почти всё - осталось совсем чуть-чуть!
Запускаем клиент IDENA, установленный на локальном ПК (если IDENA на локальном ПК уже установлена).
Если клиент IDENA еще не установлен на локальном ПК - его нужно скачать установить, вот ссылка на релизы:
https://github.com/idena-network/idena-desktop/releases/
Переходим по ссылке и выбираем один из релизов последней версии соответствующий ОС (операционной системы) вашего локального ПК:
- Если на локальном ПК установлена ОС Windows - нужно выбирать релиз Win
- Если на локальном ПК установлена ОС Mac OS - нужно выбирать релиз Mac
- Если на локальном ПК установлена ОС Linix- соответственно, нужно выбирать релиз Linux
После установки и(или) запуска клиента IDENA и переходим в нём в раздел «Настройки» --> «Узел (нода)»:
Переставляем чек-боксы (переключатели) так как указано на скриншоте выше:
Запустить встроенную ноду: ВЫКЛ
Подключиться к удаленной ноде: ВКЛ
Адрес ноды: http://localhost:9999
Api-ключ ноды: нужно вставить API.KEY который сохранили ранее (не путайте с NODEKEY). Стираем все эти точки и после копирования API-ключа из сохраненного место вставляем его в соответствующее поле клиента сочетанием клавиш «Ctrl+V».
Обязательно нажимаем на кнопку «Сохранить»
Вот вроде бы и ключ вставили, и адрес ноды ввели, но клиент по прежнему показывает «Offline»:
На этом этапе следует дать некоторое разъяснение:
Сам по себе клиент IDENA - это только оболочка т.е. визуальное отображение ноды на работу самой ноды, установленной на сервере, клиент никак не влияет.
Клиент IDENA используется для прохождения валидаций и составления флипов, а в остальное время его можно отключать.
Так вот (возвращаемся к вопросу статуса «Offline»)...
Клиент подключается к ноде через туннель который настраивается в консоли (в моем случае это «консоль PuTTY») и если туннель не настроен или сама консоль выключена - клиент IDENA будет показывать статус «Offline»
Сейчас давайте настроим сам туннель, для этого закрываем «консоль PuTTY» (если открыта).
Снова запускаем «PuTTY», в разделе «Сеанс» однократным нажатием ЛКМ на одном из сохраненных сеансов (на этом этапе подразумевается, что Вы уже читали и настраивали свой сервер согласно инструкции указанной в самом начале этой статьи и сохраненные сеансы у Вас есть), далее нажимаем на кнопку «Загрузить», потом переходим в подраздел «Соединение» --> «SSH» --> «Туннели»:
В данном окне нужно ввести:
Исходный порт: 9999
Назначение: localhost:9009
И нажать кнопку «Добавить»:
Возвращаемся в раздел «Сеанс» и нажимаем кнопку «Сохранить»:
Теперь, с обновленными настройками туннеля, нажимаем на кнопку «Соединиться»
Вводим логин и пароль от SSH-ключа соответствующего пользователя.
Примечание: лично я добил и сохранил туннели для обоих пользователей (и root, и andrey)
После соединения, через несколько секунд, в клиенте IDENA изменится статус! Был «Offline», а будет либо «Synchronized» (зеленый) - нода уже синхронизирована, либо «Synchronizing» (оранжевый) - нода еще в процессе синхронизации.
Ну вот и всё, процесс установки ноды на сервер завершен, сама по себе нода спокойно функционирует при выключенной консоли и(или) клиенте.
За майнинг можно, особо, не беспокоиться - если сервер перезагрузится, по какой-либо причине, нода перезапустится автоматически.
На этом данная инструкция подошла к концу и Вы можете пользоваться нодой IDENA.
!!! ЗА СКРИПТОМ ОБНОВЛЕНИЯ НОДЫ СТУЧИТЕ В ЛИЧКУ: @an_trader
Но я с вами не прощаюсь! В следующей статье я расскажу как настроить автоматическую настройку директории «ipfs»
Пожертвования и благодарность:
Яндекс (Ю.Money): https://sobe.ru/na/nuzhdy_Andrey_N
IDNA: 0x5d69be52a201f9d0a2f3ec49060112811a63e4d1