node
March 4, 2022

MASSA node 8.0

Установка ноды

Ставим ноду и клиент автосриптом от команды Let's Node

. <(wget -qO- https://raw.githubusercontent.com/SecorD0/Massa/main/multi_tool.sh)

Кошелек и стейкинг

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

massa_client

⠀Генерируем новый кошелек

wallet_generate_private_key

Или импортируем свой если у вас он уже есть

wallet_add_private_keys <your_private_key>

Инфа о кошельке

wallet_info

Выходим из клиента

exit

Просим тестовые токены у бота в канале #testnet-faucet в дискорде на наш адрес

Далее чтобы не заходить в клиент используем команду:

massa_wallet_info

После получения токенов покупаем роллы:

massa_buy_rolls 1

После появления роллов на балансе стейкаем их (используем ваш приват ключ вместо <your_private_key>):

massa_cli_client -a node_add_staking_private_keys <your_private_key>

Скрипт-костыль для автопокупки роллов

Использовать на свой страх и риск (никакой ответственности за работоспособность вашей ноды я не несу. Материал взят с galayda)

От автора скрипта:

Скрипт следит за неким состоянием ноды — спасибо разработчикам — они теперь сделали возможность быстро это определить. Каждые пять минут скрипт пытается «потыкать палочкой» в ноду на предмет — а жива ли ты еще моя старушка? Если ответ положительный — скрипт успокаивается на очередные пять минут. Если со стороны ноды приходит ответ — я померла — то скрипт решает что уже больше ничего не испортит и перезагружает ноду. Тут следует предупредить что начиная с 8 эпизода разработчики внесли существенное изменение в систему начального bootstrap-а вашей ноды. Сейчас если вашу ноду забанили на моменте bootstrapа, то бан длится не 15 минут, как раньше, а 24 часа. Это говорит о том что просто перезагрузить ноду у вас уже не получится. Точнее получиться то получится, но желаемого эффекта не принесет. У вас теперь должен быть собственный список серверов для bootstrapа. Где его брать, и что с ним делать — не в ходит в рамки этой статьи.


Вставляем этот блок целиком:

sudo tee $HOME/kostil_massa8.sh > /dev/null <<EOF
#!/bin/sh
#ver.01
cd \$HOME/massa/massa-client
node=\$(./massa-client get_status |grep 'Error'|awk '{print \$1}')
if [ -z "\$node" ];then
echo "Ok"> /dev/null
else
/usr/bin/sudo systemctl restart massad
echo \`/bin/date +" %b %d %r" |awk '{print \$2,\$3,\$5}'\` "(Kostil_massa8) Перегрузили ноду" >> /root/rolls.log
fi
EOF

Добавляем задание демону cron на выполнение файла kostil_massa8.sh каждые пять минут
Будем использовать локальный демон. Задание будет находиться в файле kostil_massa8 и располагаться в папке /etc/cron.d/
Вставляем следующий блок:

printf "SHELL=/bin/bash
*/5 * * * * root /bin/bash \$HOME/kostil_massa8.sh > /dev/null 2>&1
" > /etc/cron.d/kostil_massa8

Файл логов:

sudo tee \$HOME/rolls.log > /dev/null <<EOF
Лог файл создан удачно.
EOF

Посмотреть последние 50 строк лога:

tail -n50 $HOME/rolls.log

Очистить содержимое лога:

cat /dev/null > $HOME/rolls.log

Не забывайте что это не панацея, а лишь очередной костыль.

Как удалить скрипт:

Удаляем сам скрипт:

/usr/bin/rm $HOME/kostil_massa8.sh

Удаляем файл запуска скрипта по времени:

/usr/bin/rm /etc/cron.d/kostil_massa8

Удаляем log-файл:

/usr/bin/rm $HOME/rolls.log

Команды управления модификацией ноды:

Запуск:

sudo systemctl start massad

Остановка:

sudo systemctl stop massad

Перезапуск:

sudo systemctl massad

Проверка сервиса systemd:

sudo systemctl status massad

Просмотр состояния:

massa_node_info

Проверка логов:

massa_log

Инструкция собрана в кучу каналом @OxCryptos

использованы материалы @letskynode и galayda