Первая часть по настройке сервера и клиента.
Что имеем:
- два арендованных 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.
После чего на 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.
Я ПЫТАЛСЯ УСТАНОВИТЬ МН НА СВОЙ СЕРВАК ГДЕ-ТО НЕДЕЛЮ!!! Потом наткнулся на эту инструкцию. Тут нету ничего того, что я бы не делал до этого. Но собственно я повторил всё шаг за шагом с маленькой корректировкой в конфиге кошелька. Там юзанул инструкцию с сайта. И ОНО РАБОТАЕТ!!!! СПАСИБО ОГРОМНОЕ!!!!!!!
приятно))
если что, можете воспользоваться нашим сервисом мастернод benodes.com
Спасибо огромное за статью но я чуть напортачил в линуксе с файлом конфигурации, не могу теперь найти файл мастернода.конф . Мучаюсь с ошибкой: error reading masternode configuration file: Could not parse masternode.conf
Line: 4
«Alias: MN1»
что значит напортачил?) давай лучше на форуме побеседуем benodes.info