Установка ноды Massa из официальных бинарников

Гайд актуален под 26 эпизод. 

Однострочника не будет, так что готовимся читать буковки. И немножко поработать руками. А, ну еще совсем чуть, чуть мозгами 🙂

Шаг первый
Для начала удаляем старую ноду и все ее хвосты (если хотите можете сделать резервную копию ключей по инструкции)

sudo systemctl stop massad
rm -rf $HOME/massa
rm -rf /etc/systemd/system/massad.service
rm -rf /etc/systemd/system/multi-user.target.wants/massad.service

Installing the Massa node from the official binary
Нет, с глазами у вас все нормально, вставили команду, нажали Enter — и ничего не произошло в ответ. Но, будьте уверены, ваша предыдущая нода отправилась «на радугу»

Шаг второй
Переходим в каталог root

cd /root

Скачиваем готовые бинарные файлы с официального гитхаба

wget https://github.com/massalabs/massa/releases/download/TEST.26.1/massa_TEST.26.1_release_linux.tar.gz

Installing the Massa node from the official binary
Распаковываем скачанный архив

tar zxvf massa_TEST.26.1_release_linux.tar.gz

Installing the Massa node from the official binary
Вы не поверите — но все! Вы установили ноду. С чем вас и поздравляем!

Шаг третий
Перед запуском ноды пропишем ip-адрес вашего сервера в файл конфигурации:
(Блок кода расположенный ниже нужно скопировать и вставить в командной строке сразу весь, не построчно.)

sudo tee <<EOF >/dev/null $HOME/massa/massa-node/config/config.toml
[protocol]
routable_ip = "`wget -qO- icanhazip.com`"
EOF

Installing the Massa node from the official binary

Шаг четвертый
Запускаем ноду и придумываем пароль:

cd $HOME/massa/massa-node/ && ./massa-node

Installing the Massa node from the official binary
Придумываем себе пароль, еще раз вводим его для проверки и нажимаем Enter.
Если все сделали правильно увидите как ваша нода стартанула
Installing the Massa node from the official binary
Но расслабляться еще не стоит. Все только начинается.
Останавливаем ноду командой Ctrl+С

Шаг пятый
Создаем сервисный файл для того что бы ваша нода не останавливалась после закрытия терминала
Обращаю внимание — замените слово ВАШ_ПАРОЛЬ на пароль который вы только что придумали для ноды
(Блок ниже нужно скопировать предварительно в «Блокнот», заменить слово ВАШ_ПАРОЛЬ и вставить сразу весь, в командной строке, не построчно.)

printf "[Unit]
Description=Massa Node
After=network-online.target
[Service]
User=$USER
WorkingDirectory=$HOME/massa/massa-node
ExecStart=$HOME/massa/massa-node/massa-node -p ВАШ_ПАРОЛЬ
Restart=on-failure
RestartSec=3
LimitNOFILE=65535
[Install]
WantedBy=multi-user.target" > /etc/systemd/system/massad.service

Обращаю внимание — замените слово ВАШ_ПАРОЛЬ на пароль который вы только что придумали для ноды
Установка ноды Massa

Перезапускаем ноду из сервисного файла.

sudo systemctl daemon-reload
sudo systemctl enable massad
sudo systemctl stop massad && sudo systemctl start massad

Installing the Massa node from the official binary
Проверяем что нода нормально работает

sudo journalctl -f -n 100 -u massad

Если вы увидели похожую картинку — значит все в порядке — бутстрап прошел удачно
Installing the Massa node from the official binary
Выходим из логов командой Ctrl+C

Если вы увидели другую картинку
Installing the Massa node from the official binary
Вам не повезло — ваша нода не забутстрапилась. Тут или ждать или «прикуриваться» от ноды друга. Как это сделать можно прочитать в этой статье
Можно, в принципе, продолжить установку, но все равно если нода не запутстрапится в итоге — упретесь.

Теперь переходим к настройке клиента/кошелька

Шаг шестой
Запускаем клиента в первый раз. Он потребует как и нода придумать пароль. (я «придумал» такой же как и на ноде, хотя скорее всего это и не совсем правильно)

cd $HOME/massa/massa-client/ && ./massa-client

Installing the Massa node from the official binary
Дальше нам нужно сгенерировать новый кошелек со всеми ключами. Для этого вводим команду

wallet_generate_secret_key

При выполнении первой команды у вас запросят пароль. После этого
Вам покажут адрес и напомнят что неплохо было бы зарегистрировать адрес кошелька для стейкинга монет.
Installing the Massa node from the official binary
Ну, и раз просят — сразу сделаем то что просят
Для этого в клиенте даем следующую команду:

wallet_info

Installing the Massa node from the official binary
смотрим адрес кошелька и добавляем его для стейка

node_start_staking <ваш адрес кошелька>

Installing the Massa node from the official binary
Проверяем что адрес кошелька «застейкался»

node_get_staking_addresses

Installing the Massa node from the official binary
Выходим из клиента набрав команду Ctrl+C
Ну и проверяем что нода в порядке

cd /$HOME/massa/massa-client/ && ./massa-client wallet_info

Installing the Massa node from the official binary

Шаг седьмой
Переходим в дискорд в раздел с названием
Installing the Massa node from the official binary
И запрашиваем себе монетки на адрес кошелька
Installing the Massa node from the official binary
Если кран не глючит — монетки на вашем кошельке будут уже секунд через 20 (если глючит — то до часа)

cd /$HOME/massa/massa-client/ && ./massa-client -p ВАШ_ПАРОЛЬ wallet_info

Установка ноды Massa
Осталось только купить ролл за наши монетки.
По правильному это делать из клиента
Заходим в клиент

cd /$HOME/massa/massa-client/ && ./massa-client -p ВАШ_ПАРОЛЬ

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

buy_rolls адрес_вашего_кошелька 1 0

В моем примере это выглядит так
buy_rolls AU12GoSDG9QeWceUtPvF8D7GimHr4oeFzSc9vFRGDthFX7VfTdTmp 1 0
Installing the Massa node from the official binary
И не выходя из клиента даем команду wallet_info убеждаясь что ролл купился

Примерно через 1 час 40 минут ролл станет активный и начнется стейкинг монеток.
(крайне не рекомендую иметь более 1 активного ролла. Плюсов ни каких — минусов масса, но это не тема данной статьи)

Регистрация ноды в Дискорде:

Для регистрации нам нужно будет знать ip адрес вашего сервера и ваш user_id на сервере дискорда.
ip адрес сервера смотрим командой в консоли

wget -qO- eth0.me

Installing the Massa node from the official binary
Теперь переходим в дискорд к MassaBot и просто «скармливаем» ваш ip боту
Installing the Massa node from the official binary
Нажимаем Enter и видим надпись что ваш дискорд аккаунт зарегистрирован на ваш ip.
Installing the Massa node from the official binary
Отлично.
Теперь будем регистрировать саму ноду. Нам понадобится user_id. Видно его тут же. Копируем его и возвращаемся на сервер.

Запускаем наш клиент

cd /$HOME/massa/massa-client/ && ./massa-client -p ВАШ_ПАРОЛЬ

И внутри клиента даем следующую команду

node_testnet_rewards_program_ownership_proof <адрес кошелька>  <id из дискорда>

В нашем примере команда должна будет выглядеть примерно так
node_testnet_rewards_program_ownership_proof AU12GoSDG9QeWceUtPvF8D7GimHr4oeFzSc9vFRGDthFX7VfTdTmp 887765210461524028


В ответ вы получите длиннющий ключ который нужно скопировать и вставить в дискорд, в MassaBot
Если все прошло удачно, то по команде info MassaBot должен будет выдать похожую картинку

где будет видны ваши Node ID, Staking Address и IP address
Теперь проверяем что данные в дискорде  совпадают с  данными в нашей нодое

cd /$HOME/massa/massa-client/ && ./massa-client -p BAШ_ПАРОЛЬ get_status


Node ID и IP address должны совпадать с тем что вы видите в дискорде.
На этом установку ноды можно считать оконченной.

P.S. Хоть я и категорически против коротких команд, но большинство пользователей   класть хотели на доводы почему это плохо.
Хотим, потому что привыкли.
Вот скрипт от Let’s Node который скрестит ужа с ежом. А именно — мой гайд и их короткие команды.
. <(wget -qO- https://raw.githubusercontent.com/SecorD0/Massa/main/insert_variables.sh)
Теперь вы можете использовать короткие команды из их гайда. Например:
massa_wallet_info

Обновление ноды:

Хочу сразу сказать что у массы все файлы находятся в одной папки и нода ничего не «распихивает» по операционной системе.
И любой скрипт на обновление делает следующие шаги:
Делает резервную копию ваших кошельков
Удаляет ноду полностью
Ставит ноду по новой
Возвращает ключи на свои места
Перестартовывает ноду

Не накладываются ни какие патчи, не правятся файлы — просто снос под ноль и разворачивание новой ноды.
Понимая этот механизм — легко делаем это сами без каких либо скриптов.
Итак:
Создадим папку где будем хранить ваши резервные копии
mkdir -v $HOME/massa_backup
Установка ноды Massa
Нужная папка была создана.
Если такая папка уже была создана ранее, то увидите следующее

Это не ошибка. Просто данная папка у вас уже есть.
Делаем резервную копию ваших файлов
cp $HOME/massa/massa-node/config/node_privkey.key $HOME/massa_backup/node_privkey.key
cp $HOME/massa/massa-client/wallet.dat $HOME/massa_backup/wallet.dat

И желательно проверяем что файлы скопировались
ls -la $HOME/massa_backup
Установка ноды Massa
Дальше сносим старую ноду и разворачиваем обновленную версию
Делаем Шаг первый, Шаг второй, Шаг третий из этого гайда без изменеий.
И далее возвращаем сохраненные ключи назад в свежеустановленную ноду
cp $HOME/massa_backup/node_privkey.key $HOME/massa/massa-node/config/node_privkey.key
cp $HOME/massa_backup/wallet.dat $HOME/massa/massa-client/wallet.dat

И перестартовываем ноду
sudo systemctl restart massad

И проверяем любым из способов что у вас уже новая версия ноды

Инструкция написана «на коленке», поэтому скорее всего что то пропустил или не достаточно подробно описал для новичка,
Если у вас есть вопросы по тексту статьи или вы просто хотите «напихать» автору — добро пожаловать в мой телеграм-канал 

Что еще почитать по теме:

Контроль за падением rolls и автоматическая их покупка
Massa — как «прикурится» от ноды друга
Как следить за своими сайтами и нодами
Собственный info-бот в Телеграм
Утечка памяти — определяем — перегружаем ноду