Guide Massa TEST.26.1
Системные требования для работы ноды
4 CPU, 8 GB RAM
- Подготовка к установке
- Установка
- Обновление
- Включаем поддержку привычных команд
- Автопокупка роллов
Добавляем bootstrap
Подготовка к установке
Если вы ранее не делали бэкап wallet.dat и node_privkey.key - делаем бэкап, если делали пропускаем.
Создаем папку для хранения бэкапа
mkdir -v $HOME/massa_backup
Копируем файл wallet.dat в созданную папку
cp $HOME/massa/massa-client/wallet.dat $HOME/massa_backup/wallet.dat
Копируем файл node_privkey.key в созданную папку
cp $HOME/massa/massa-node/config/node_privkey.key $HOME/massa_backup/node_privkey.key
Далее нам необходимо удалить старую ноду, если ставите с 0 пропускаете.
Если будет ругаться на команды не обращаем внимание
killall massa-client killall massa-node rm -rf $HOME/massa rm /etc/systemd/system/massad.service
sudo apt update && sudo apt-get install libclang-dev
sudo ufw status
Если "Status: active"
sudo ufw allow 31244
sudo ufw allow 31245
Если "Status: inactive"
sudo iptables -I INPUT -p tcp --dport 31244 -j ACCEPT
sudo iptables -I INPUT -p tcp --dport 31245 -j ACCEPT
sudo apt install iptables-persistent -y
sudo netfilter-persistent save
Установка
Скачиваем бинарные файлы с GitHub Massa
Актуальная ссылка на 08.09.23, если вы читаете этот гайд после обновлений, попробуйте поменять в ссылке числа версии на актуальный номер.
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 [network] routable_ip = "`wget -qO- eth0.me`" EOF
cd $HOME/massa/massa-node/
./massa-node
Останавливаем ноду нажатием 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 restart massad
sudo journalctl -f -n 100 -u massad
Если вы увидели сообщения bootstrap нужно ждать или добавлять bootstrap в конфигурационный файл.
cd $HOME/massa/massa-client/
./massa-client
wallet_generate_secret_key
wallet_info
Address (адрес вашего кошелька) отправляете в дискорд #testnet-faucet
node_start_staking адрес_вашего_кошелька
слово адрес_вашего_кошелька заменяем на свой адрес
1 и 0 в конце команды нужны их не удалять
buy_rolls адрес_вашего_кошелька 1 0
wallet_info
Кидаем в дискорд MassaBot IP адрес сервера на котором стоит нода и в терминале вводим команду
Подставляйте свои значения в команду
node_testnet_rewards_program_ownership_proof адрес_вашего_кошелька id_из_дискорда
Результат этой команды отправляем в дискорд MassaBot.
Обновление
обновлено 08.09.23
Если вы еще не переходили на версию 23.0 вам нужно полностью удалить ноду и поставить с нуля. Кто переходил - обновляемся.
cd $HOME && 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 && sudo systemctl restart massad && sudo journalctl -f -n 100 -u massad
Команда для быстрого входа в клиент, просто подставьте свой пароль вместо слова ваш_пароль, здесь вы можете смотреть инфу о кошельке и ноде.
cd /$HOME/massa/massa-client/ && ./massa-client -p ваш_пароль
wallet_info
Address (адрес вашего кошелька) отправляете в дискорд #testnet-faucet
слово адрес_вашего_кошелька заменяем на свой адрес
1 и 0 в конце команды нужны их не удалять
buy_rolls адрес_вашего_кошелька 1 0
wallet_info
Кидаем в дискорд MassaBot IP адрес сервера на котором стоит нода и в терминале вводим команду
Подставляйте свои значения в команду
node_testnet_rewards_program_ownership_proof адрес_вашего_кошелька id_из_дискорда
Результат этой команды отправляем в дискорд MassaBot.
Дополнительно
Включаем поддержку всем привычных команд от SecorD0
massa_log, massa_client, massa_cli_client, massa_node_info, massa_wallet_info, massa_buy_rolls
sed -i "/ massa_password=/d" $HOME/.bash_profile
Слово ВАШ_ПАРОЛЬ в команде ниже меняете на свой пароль
echo 'export massa_password="ВАШ_ПАРОЛЬ"' >> $HOME/.bash_profile
. $HOME/.bash_profile
. <(wget -qO- https://raw.githubusercontent.com/SecorD0/Massa/main/insert_variables.sh)
sudo systemctl restart massad
Автопокупка роллов от Mutant
обновлено 05.10.22
Вы должны вводить быть не в клиенте ноды
cd /root
Этот блок копируем целиком и вставляем как одну команду
sudo tee /root/rollsup.sh > /dev/null <<EOF
#!/bin/sh
#Версия 0.14
cd /root/massa/massa-client
#Set variables
catt=/usr/bin/cat
passwd=\$(\$catt \$HOME/massapasswd)
candidat=\$(./massa-client wallet_info -p "\$passwd"|grep 'Rolls'|awk '{print \$4}'| sed 's/=/ /'|awk '{print \$2}')
massa_wallet_address=\$(./massa-client -p "\$passwd" wallet_info |grep 'Address'|awk '{print \$2}')
tmp_final_balans=\$(./massa-client -p "\$passwd" wallet_info |grep 'Balance'|awk '{print \$3}'| sed 's/=/ /'|sed 's/,/ /'|awk '{print \$2}')
final_balans=\${tmp_final_balans%%.*}
averagetmp=\$(\$catt /proc/loadavg | awk '{print \$1}')
node=\$(./massa-client -p "\$passwd" get_status |grep 'Error'|awk '{print \$1}')
if [ -z "\$node" ]&&[ -z "\$candidat" ];then
echo \`/bin/date +"%b %d %H:%M"\` "(rollsup) Node is currently offline" >> /root/rolls.log
elif [ \$candidat -gt "0" ];then
echo "Ok" > /dev/null
elif [ \$final_balans -gt "99" ]; then
echo \`/bin/date +"%b %d %H:%M"\` "(rollsup) The roll flew off, we check the number of coins and try to buy" >> /root/rolls.log
resp=\$(./massa-client -p "\$passwd" buy_rolls \$massa_wallet_address 1 0)
else
echo \`/bin/date +"%b %d %H:%M"\` "(rollsup) Not enough coins to buy a roll from you \$final_balans, minimum 100" >> /root/rolls.log
fi
EOFДобавляем задание демону cron на выполнение файла rollsup.sh
Этот блок копируем целиком и вставляем как одну команду
printf "SHELL=/bin/bash PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin */3 * * * * root /bin/bash /root/rollsup.sh > /dev/null 2>&1 " > /etc/cron.d/massarolls
Прописываем пароль для доступа к клиенту в отдельный файл
Этот блок копируем целиком и вставляем как одну команду
sudo tee $HOME/massapasswd > /dev/null <<EOF Вместо этой строчки пишите ваш пароль EOF
Создаем файл для логов скрипта
Этот блок копируем целиком и вставляем как одну команду
sudo tee $HOME/rolls.log > /dev/null <<EOF Лог файл создан удачно. EOF
Посмотреть последние 50 строк логов
tail -n50 /root/rolls.log
cat /dev/null > /root/rolls.log
/usr/bin/rm /root/rollsup.sh
/usr/bin/rm /etc/cron.d/massarolls
/usr/bin/rm /root/rolls.log
Добавляем bootstrap
Если у Вас в логах идут ошибки при подключении к bootstrap
НЕ РАБОТАЕТ
Создадим бэкап файла конфига, чтобы мы в случае неправильных изменений в файле смогли вернуть его обратно.
cp $HOME/massa/massa-node/base_config/config.toml $HOME/massa/massa-node/base_config/config.toml.backup
Открываем файл конфига для редактирования
nano $HOME/massa/massa-node/base_config/config.toml
Спускаемся по файлу ниже и находим раздел [bootstrap] и смотрим на скриншот ниже
список обновлен 31.10.2022
["51.75.60.228:31245", "P13Ykon8Zo73PTKMruLViMMtE2rEG646JQ4sCcee2DnopmVM3P5"], ["89.40.214.122:31245", "P1BH3AJz1X2Y32kW34p4kDJDSVQFGSX1kQ2EwhKG4J535LiSQXu"], ["144.24.192.28:31245", "P12DrR3pYRboEYS8tShJgnqmzUUPR65V7V5cxi8QTzA5EZ9kEXCC"], ["80.11.21.94:31245", "P1rudCUZBvVbymB7s1svtSYGsgFDJKuixHvykYU2qMj9VaZ3s7m"], ["158.69.120.215:31245", "P12rPDBmpnpnbECeAKDjbmeR19dYjAUwyLzsa8wmYJnkXLCNF28E"], ["198.27.74.52:31245", "P1hdgsVsd4zkNp8cF1rdqqG6JPRQasAmx12QgJaJHBHFU1fRHEH"], ["78.107.234.44:31245", "P1tBD958SEeRN9tL3BaNNf8s9L7dimwM9fuGH25nihrUhkMrQ72"], ["144.24.192.28:31245", "P12DrR3pYRboEYS8tShJgnqmzUUPR65V7V5cxi8QTzA5EZ9kEXCC"], ["207.180.242.141:31245", "P12fErdTX9aiwNMbk2TG4jbKKovLHrWRwD63wJKnXksJjLJxYcoz"], ["161.97.167.10:31245", "P1nuX2KGsLjtMcaKkEQ8L1ojPnnGehk6KdUsv9Gtn2TsyTEqEvS"], ["185.192.96.88:31245", "P1mzSp4MiG2pp7kGGaW7Xw4M54afShq5Ljq8MkWWygPCvJq89KT"], ["88.141.159.77:31245", "P12L9AptjeJZQ4yVGnHj3B19dpFyk6wXSMMyrABMFAyF17UqTYVN"], ["176.104.59.190:31245", "P1VA2UWLsGQQ2mhgD4kWvR8mbbDmFEEYXNiGVWWvr39KfHbQibZ"], ["80.11.21.94:31245", "P1rudCUZBvVbymB7s1svtSYGsgFDJKuixHvykYU2qMj9VaZ3s7m"], ["193.201.15.244:31245", "P12mK3XtaDovD386EKMFgUPSdV1nndycgwBc36Fj3jA8tsHSpqoN"], ["176.163.175.28:31245", "P1Lc1GcYdhrKNuT8MCte81dCior4mGJSNgbU9ytz4bqAG9RPju6"], ["95.70.160.37:31245", "P1hQUuCr8WuWvkoXqWe14ZQrNBdLyk3UbY3RcphDz6LsgpNMiBU"], ["161.97.141.80:31245", "P12jpADZRE2jiXF29X9fzULiRa9YfjmrHqTVoXFMTQh3brEQvUXJ"], ["154.26.132.182:31245", "P137JJeU7dt6MbTX87rB9s9geX3gYRUmMmZFMuoo8Hru5pzKRcm"], ["158.69.120.215:31245", "P12rPDBmpnpnbECeAKDjbmeR19dYjAUwyLzsa8wmYJnkXLCNF28E"], ["202.182.109.190:31245", "P12vuGZ7vDG77CUrqhbsQyMW4yCzZ18tmWNqP6CZVFAuEamsfd6N"], ["62.113.114.49:31245", "P1uTgabQKsBYs2RKVZ2X5KPEix8zGkyNRP6rEbM24GAgNNSXH22"], ["45.85.249.52:31245", "P16dF95GfGb5syZixrQKnX57aG8JeGyQcx6QWs7fjdZFxo2wTrJ"], ["207.180.215.214:31245", "P1ZoC3y6qyj3c5H6ToDFcR8AcZY5YJgb1y1HLHMUaZVzHdGNg3Y"]
Возвращаемся в терминал и вставляем скопированные данные, как это будет выглядеть см. скриншот ниже
Далее нам нужно удалить запятую с последнего bootstrap и выровнять вставленные строчки по формату стандартных. Советую во вставленных строках удалить пробелы вначале строки и с помощью кнопки TAB на клавиатуре выровнять. Финальный вариант смотрим на скриншоте ниже
Сохраняем изменения CTRL+o > Enter > CTRL+x
Рестартим ноду и проверяем логи
sudo systemctl restart massad
sudo journalctl -f -n 100 -u massad
Если у Вас какие-то ошибки в логах, значит вы допустили ошибки при редактировании конфига, чтобы вернуться к бэкапу вводим команды
cp $HOME/massa/massa-node/base_config/config.toml.backup $HOME/massa/massa-node/base_config/config.toml
sudo systemctl restart massad