Запуск нескольких мастернод монеты Innova на одном VPS
Что бы запустить 2-ю мастерноду на сервере VPS с операционной системой Linux нужно выполнить ряд нехитрых операций. Это руководство предполагает, что на сервере уже запущена мастернода Innova.
Первый шаг - это создание копии блокчейна в другой папке:
cp -r ~/.innovacore ~/.innovacore01
Теперь нужно отредактировать файл конфига для второй мастерноды:
nano ~/.innovacore01/innova.conf
Откроется файл примерно со следующим содержанием:
rpcuser=innovauser
rpcpassword=ahgah5Eshssgshidah
rpcport=14519
port=14520
listen=1
maxconnections=256
masternode=1
masternodeprivkey=7Zv4QsVhyF7LvWS6hWmXWerrWertWERREeewtgvVYzRycVS
Для в этот файл нужно добавить строку и заменить:
rpcuser= innovauser01
externalip=78.132.233.127:14520
rpcport=14518
port=14521
Где IP - адрес Вашего сервера. Файл приводим к такому виду:
rpcuser= innovauser01
rpcpassword= ahgah5Eshaequeshidahw
rpcport=14518
externalip=78.132.243.117:14520
port=14521
listen=1
maxconnections=256
masternode=1
masternodeprivkey=7Zv4QsVhyF7LvWS6hWmXWerrWertWERREeewtgvVYzRycVS
Сохраняем редактированный файл <Ctrl+O> и <Enter>. Выход <Ctrl+X>. Не забывайте заменить значение masternodeprivkey на новое сгенерированное в кошельке значение, иначе Ваше детище получит статус POSE_BAN. Так же рекомендуется заменить имя пользователя RPC. Для простоты нумерация RPC портов уменьшаются на единицу, а нумерация портов для прослушивания демона увеличиваются на единицу для каждой новой ноды.
Теперь нужно скорректировать crontab.
crontab -e
После запуска этой команды впервые, появится вариант выбора редактора для правки файла. Для меня удобнее всех оказался редактор nano.
Crontab имеет примерно такой вид. Вернее, строк там может быть гораздо больше, но нас интересуют только те, которые нужны для работы мастерноды, а именно:
* * * * * cd /root/.innovacore/sentinel && ./venv/bin/python bin/sentinel.py 2>&1 >> sentinel-cron.log
*/30 * * * * /root/mnchecker/mnchecker --currency-handle="innova" --currency-bin-cli="innova-cli" --currency-datadir="/root/.innovacore" > /root/mnchecker/mnchecker-cron.log 2>&1
Просто дублируем первую и вторую строку, изменив каталог блокчейна на .innovacore01:
* * * * * cd /root/.innovacore/sentinel && ./venv/bin/python bin/sentinel.py 2>&1 >> sentinel-cron.log
* * * * * cd /root/.innovacore01/sentinel && ./venv/bin/python bin/sentinel.py 2>&1 >> sentinel-cron.log
* /30* * * * /root/mnchecker/mnchecker --currency-handle="innova" --currency-bin-cli="innova-cli" --currency-datadir="/root/.innovacore" > /root/mnchecker/mnchecker-cron.log 2>&1
* /30 * * * * /root/mnchecker/mnchecker --currency-handle="innova" --currency-bin-cli="innova-cli" --currency-datadir="/root/.innovacore01" > /root/mnchecker/mnchecker-cron.log 2>&1
Затем нужно исправить путь до файла innova.conf в конфигурационном файле сентинела sentinel.conf:
nano ~/.innovacore01/sentinel/sentinel.conf
Новое содержимое файла sentinel.conf:
# specify path to innova.conf or leave blank
# default is the same as InnovaCore
# innova_conf=/home/evan82/.innovacore/innova.conf
# valid options are mainnet, testnet (default=mainnet)
network=mainnet
# network=testnet
# database connection details
db_name=database/sentinel.db
db_driver=sqlite
innova_conf=/root/.innovacore01/innova.conf
Все что нам остается – запустить демон:
innovad -datadir=/root/.innovacore01
И следить за синхронизацией командами:
innova-cli -datadir=/root/.innovacore01 getinfo
innova-cli -datadir=/root/.innovacore01 mnsync status
innova-cli -datadir=/root/.innovacore01 masternode status
Напомню, что остановить демон можно командой:
innova-cli -datadir=/root/.innovacore01 stop
Что бы смотреть за выполнением команды в реальном времени, можно запустить команду через утилиту watch, выход из который – комбинация клавиш <Ctrl+C>:
watch innova-cli -datadir=/root/innovacore01 mnsync status
Теперь остается только добавить в файл конфигурации мастерноды в удаленном кошельке новый приватный ключ мастерноды, tx транзации и номер входа.
Mn01 127.0.0.2:14520 93HaYBVUCYjEMeeH1Y4sBGLALQZE1Yc1K64xiqgX37tGBDQL8Xg 1
Дождаться синхронизации кошелька и запустить MISSING ноду. Спасибо за внимание.