Гайд актуален под 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
Нет, с глазами у вас все нормально, вставили команду, нажали Enter — и ничего не произошло в ответ. Но, будьте уверены, ваша предыдущая нода отправилась «на радугу»
Шаг второй
Переходим в каталог root
cd /root
Скачиваем готовые бинарные файлы с официального гитхаба
wget https://github.com/massalabs/massa/releases/download/TEST.26.1/massa_TEST.26.1_release_linux.tar.gz
Распаковываем скачанный архив
tar zxvf massa_TEST.26.1_release_linux.tar.gz
Вы не поверите — но все! Вы установили ноду. С чем вас и поздравляем!
Шаг третий
Перед запуском ноды пропишем ip-адрес вашего сервера в файл конфигурации:
(Блок кода расположенный ниже нужно скопировать и вставить в командной строке сразу весь, не построчно.)
sudo tee <<EOF >/dev/null $HOME/massa/massa-node/config/config.toml [protocol] routable_ip = "`wget -qO- icanhazip.com`" EOF
Шаг четвертый
Запускаем ноду и придумываем пароль:
cd $HOME/massa/massa-node/ && ./massa-node
Придумываем себе пароль, еще раз вводим его для проверки и нажимаем Enter.
Если все сделали правильно увидите как ваша нода стартанула
Но расслабляться еще не стоит. Все только начинается.
Останавливаем ноду командой 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
Обращаю внимание — замените слово ВАШ_ПАРОЛЬ на пароль который вы только что придумали для ноды
Перезапускаем ноду из сервисного файла.
sudo systemctl daemon-reload sudo systemctl enable massad sudo systemctl stop massad && sudo systemctl start massad
Проверяем что нода нормально работает
sudo journalctl -f -n 100 -u massad
Если вы увидели похожую картинку — значит все в порядке — бутстрап прошел удачно
Выходим из логов командой Ctrl+C
Если вы увидели другую картинку
Вам не повезло — ваша нода не забутстрапилась. Тут или ждать или «прикуриваться» от ноды друга. Как это сделать можно прочитать в этой статье
Можно, в принципе, продолжить установку, но все равно если нода не запутстрапится в итоге — упретесь.
Теперь переходим к настройке клиента/кошелька
Шаг шестой
Запускаем клиента в первый раз. Он потребует как и нода придумать пароль. (я «придумал» такой же как и на ноде, хотя скорее всего это и не совсем правильно)
cd $HOME/massa/massa-client/ && ./massa-client
Дальше нам нужно сгенерировать новый кошелек со всеми ключами. Для этого вводим команду
wallet_generate_secret_key
При выполнении первой команды у вас запросят пароль. После этого
Вам покажут адрес и напомнят что неплохо было бы зарегистрировать адрес кошелька для стейкинга монет.
Ну, и раз просят — сразу сделаем то что просят
Для этого в клиенте даем следующую команду:
wallet_info
смотрим адрес кошелька и добавляем его для стейка
node_start_staking <ваш адрес кошелька>
Проверяем что адрес кошелька «застейкался»
node_get_staking_addresses
Выходим из клиента набрав команду Ctrl+C
Ну и проверяем что нода в порядке
cd /$HOME/massa/massa-client/ && ./massa-client wallet_info
Шаг седьмой
Переходим в дискорд в раздел с названием
И запрашиваем себе монетки на адрес кошелька
Если кран не глючит — монетки на вашем кошельке будут уже секунд через 20 (если глючит — то до часа)
cd /$HOME/massa/massa-client/ && ./massa-client -p ВАШ_ПАРОЛЬ wallet_info
Осталось только купить ролл за наши монетки.
По правильному это делать из клиента
Заходим в клиент
cd /$HOME/massa/massa-client/ && ./massa-client -p ВАШ_ПАРОЛЬ
и в клиенте покупаем ролл следующей командой
buy_rolls адрес_вашего_кошелька 1 0
В моем примере это выглядит так
buy_rolls AU12GoSDG9QeWceUtPvF8D7GimHr4oeFzSc9vFRGDthFX7VfTdTmp 1 0
И не выходя из клиента даем команду wallet_info убеждаясь что ролл купился
Примерно через 1 час 40 минут ролл станет активный и начнется стейкинг монеток.
(крайне не рекомендую иметь более 1 активного ролла. Плюсов ни каких — минусов масса, но это не тема данной статьи)
Регистрация ноды в Дискорде:
Для регистрации нам нужно будет знать ip адрес вашего сервера и ваш user_id на сервере дискорда.
ip адрес сервера смотрим командой в консоли
wget -qO- eth0.me
Теперь переходим в дискорд к MassaBot и просто «скармливаем» ваш ip боту
Нажимаем Enter и видим надпись что ваш дискорд аккаунт зарегистрирован на ваш ip.
Отлично.
Теперь будем регистрировать саму ноду. Нам понадобится 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
Нужная папка была создана.
Если такая папка уже была создана ранее, то увидите следующее
Это не ошибка. Просто данная папка у вас уже есть.
Делаем резервную копию ваших файлов
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
Дальше сносим старую ноду и разворачиваем обновленную версию
Делаем Шаг первый, Шаг второй, Шаг третий из этого гайда без изменеий.
И далее возвращаем сохраненные ключи назад в свежеустановленную ноду
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-бот в Телеграм
Утечка памяти — определяем — перегружаем ноду