настройка мастерноды linux linux

Настройка мастерноды Linux — Linux (VPS + VPS)

Первая часть по настройке сервера и клиента.

Что имеем:

  • два арендованных VPS с операционной системой Linux (Ubuntu 16.04 \ 18.04)

Что делаем:

  • один VPS настраивается как сервер мастернод, второй VPS как клиент мастернод.

Все действия показаны на примере монеты CONDOMINIUM.

Для начала все действия выполняем сразу на двух системах (в данном случае на двух арендованных VPS).

sudo apt-get update
sudo apt-get upgrade
sudo apt-get install build-essential libtool autotools-dev automake pkg-config libssl-dev libevent-dev bsdmainutils git nano mc -y && apt-get install libboost-system-dev libboost-filesystem-dev libboost-chrono-dev libboost-program-options-dev libboost-test-dev libboost-thread-dev -y
sudo apt-get install libboost-all-dev && apt-get install libminiupnpc-dev -y

Для запуска криптокошелька нужна библиотека libdb4.8. На некоторых системах работает версия 5.3, которую можно установить из репозиториев по умолчанию, но именно на VPS\VDS почему то работает только версия 4.8. Идем на сайт открываем вкладку как на скриншоте и выбираем нужную версию Linux.

lib4.8 for ubuntu 16.04





После чего на VPS открываем файл:

sudo nano /etc/apt/sources.list

(конечно можно воспользоваться любым другим удобным редактором текста вместо nano) и добавляем строчки с сайта (в моем случае версия 16.04, поэтому выглядят так):

deb http://ppa.launchpad.net/bitcoin/bitcoin/ubuntu xenial main 
deb-src http://ppa.launchpad.net/bitcoin/bitcoin/ubuntu xenial main

сохранить файл и обновить список репозиториев:

sudo apt-get update

И собственно нужно поставить данные библиотеки:

sudo apt-get install libboost-all-dev
sudo apt-get install libdb4.8-dev libdb4.8++-dev

Если на сервере меньше 2gb RAM, то лучше сделать свап файл:

dd if=/dev/zero of=/swap.file bs=1M count=2048
chmod 600 /swap.file & mkswap /swap.file
swapon /swap.file

Я обычно создаю под каждый кошелек своего пользователя, в целом так делать и рекомендую, меньше путаницы при одинаковых нодах:

sudo useradd -s /bin/bash -m NAME_USER -p PASS_USER
sudo usermod -a -G sudo NAME_USER
su NAME_USER
cd

Далее нужно скачать кошелек с репозитория. Можно самому скомпилировать бинарные файлы, но проще взять уже готовые. Идем на гитхаб нужного проекта и ищем вкладку RELEASES:

Ищем нужный архив, выглядит примерно так:





Так же может быть архив tar.gz. В случае zip архива распаковка будет:

unzip NAME_ZIP

в случае архива tar.gz:

tar -xzvf NAME_TAR

Например архив CDM содержит 4 файла. Всегда нужны только два файла, которые оканчиваются на d и -cli. Делаем их исполняемыми, если они таковыми не являются:

sudo chmod +x condominium{d,-cli} && sudo cp condominium{d,-cli} /usr/local/bin

Теперь из любого места можно работать с кошельком. Например запустить кошелек:

sudo condominiumd

Посмотреть инфо кошелька и остановить:

condominium-cli getinfo
condominium-cli stop

При первом запуске кошелька будет создан файл конфигураций в домашней папке пользователя (например путь до файла конфигурацийй монеты CDM —  /home/$USER/.condominium/condominium.conf), в который обязательно нужно добавить конфигурацию:

rpcuser=ANY_NAME
rpcpassword=ANY_PASS
rpcallowip=127.0.0.1
rpcport=PORT
maxconnections=250
daemon=1
server=1
listen=1
listenonion=0
enableaccounts=1
staking=0

После чего перезапустить кошелек.

Вторая часть по настройке сервера и клиента.

Клиент.

Создаем новый адрес, а лучше сразу два — один для пополнения кошелька, второй для ноды (если нод много, то соответственно создаем нужное количество адресов):

condominium-cli getnewaddress invest
condominium-cli getnewaddress mn1

Адреса можно записать, чтобы постоянно не обращаться к кошельку, чтобы их получить. Но если не записали, то есть команда:

condominium-cli getaccountaddress NAME

Например токены кидаем на invest адрес. Как токены дошли, перекинем нужное количество для ноды на кошелек mn1:

condominium-cli sendfrom invest ADDRESS

ADDRESS здесь нужно поставить куда планируется отправить монеты. ОБЯЗАТЕЛЬНО СВЕРИТЬ АДРЕС, бывает в кошельках нет защиты от левых адресов и монеты улетят в никуда, если ошибка в адресе.
Генерируем новый приватный ключ (для каждой новой мастерноды нужен новый адрес):

condominium-cli masternode genkey

и нужно узнать ID нашей транзакции:

condominium-cli masternode outputs

Собрав эти данные нужно составить файл конфигураций мастернод.
Остановим кошелек, если он работает:

condominium-cli stop

Файл лежит в той же папке, что и файл конфигураций кошелька:

sudo nano /home/$USER/.condominium/masternode.conf

Файл заполняется так же, как на винде:

mn1 IP_ADDRESS_SERVER:PORT Masternode_PRIVEKEY Masternode_output_txid Output_index

например:

mn1 25.19.15.17:33588 3xQxGwTZhmd5CZTojUTns672KouNGXbiDbh1s8woB 76751fe08791e64be8e9085d65177739a71456f2cddd02c035956c 0
mn2 15.193.15.17:33588 3xQx5CZTojUTns672KouNGXbiDbh1s8woBsdfwrDS2 1e64be8e9085d65177739a71456f2cddd029a71456f2cdc035956c 1

Сохраняем файл и перезапускаем кошелек:

sudo condominiumd

Можно идти на сервак.

Сервер.

На сервере надо заполнить только файл настроек монеты. Останавливаем кошелек, если он работает, и открываем файл конфигураций:

condominium-cli stop
sudo nano /home/$USER/.condominium/condominium.conf

Файл должен иметь следующий вид:

rpcuser=ANY_NAME
rpcpassword=ANE_PASS
rpcallowip=127.0.0.1
rpcport=ANY_PORT (ставлю обычно +1 от порта монеты)
bind=IP_ADDRESS_SERVER
maxconnections=250
daemon=1
server=1
listen=1
listenonion=0
enableaccounts=1
staking=0

masternode=1
externalip=IP_ADDRESS_SERVER:PORT
masternodeprivkey=GENKEY (сгенерированный на клиенте)

Можно запускать кошелек:

sudo condominiumd

Настройка завершена, можно запускать.

Если везде кошельки синхронизированы и у транзакции есть уже 15 подтверждений, то можно на клиенте запустить мастерноду:

condominium-cli startmasternode alias 0 mn1 

или (зависит от кошелька и реализации):

condominium-cli masternode start-alias mn1

Где mn1 это имя алиаса, которое заносили в файл настроек masternode.conf

На сервере можно проверить работоспособность мастерноды:

condominium-cli masternode status

Если вдруг монета попалась с Sentinel, то мануал можно найти в моей статье.

Так же несколько команд для работы с кошельком под Linux.

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

4
Отправить ответ

avatar
1 Comment threads
3 Thread replies
0 Followers
 
Most reacted comment
Hottest comment thread
3 Comment authors
welestСергейMark Recent comment authors
  Subscribe  
новые первые старые первые полезные
Уведомить
Mark
Гость
Mark

Я ПЫТАЛСЯ УСТАНОВИТЬ МН НА СВОЙ СЕРВАК ГДЕ-ТО НЕДЕЛЮ!!! Потом наткнулся на эту инструкцию. Тут нету ничего того, что я бы не делал до этого. Но собственно я повторил всё шаг за шагом с маленькой корректировкой в конфиге кошелька. Там юзанул инструкцию с сайта. И ОНО РАБОТАЕТ!!!! СПАСИБО ОГРОМНОЕ!!!!!!!

welest
Администратор
welest

приятно))
если что, можете воспользоваться нашим сервисом мастернод benodes.com

Сергей
Гость
Сергей

Спасибо огромное за статью но я чуть напортачил в линуксе с файлом конфигурации, не могу теперь найти файл мастернода.конф . Мучаюсь с ошибкой: error reading masternode configuration file: Could not parse masternode.conf
Line: 4
«Alias: MN1»

welest
Администратор
welest

что значит напортачил?) давай лучше на форуме побеседуем benodes.info