Jump to content

Recommended Posts

Для себя любимого было реализовано, но может оказаться полезным для любого мастернодщика, поддерживающего или собирающегося развернуть большое количество мастернод.

 

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

 

Предлагаю услугу запуска нескольких мастернод одной монеты на одном VPS сервере за 1 Евро в месяц с честными IP адресами.

 

На первом этапе от Вас потребуется:

  • Купить VPS сервер на arubacloud.com. Тарифный план SMART, операционная система Ubuntu Server 16.04 LTS 64bit за 1 Евро в месяц
  • В процессе установки выбрать пароль для рута: 123 (мне проще, в дальнейшем вы его измените), имя для сервера, Aruba01, если это первый сервер, Aruba02, если второй и т.д.
  • Прислать мне:
    • IP адрес сервера (обязательно)

    • Выделенный после установки диапазон IPV6 (обязательно)

    • Ссылку на github монеты, мастерноды которой необходимо установить и их количество

    • Cписок нод для addnode

    • Если есть возможность скачать блокчейн, то ссылку на архив

    • Токен и chatid (userid) бота телеграмм (по желанию)

 

Что сделаю я:

  • Установлю все необходимые для работы мастернод зависимости и ПО (включая MidnightCommander – аналог FAR и TotalCommander для Windows для удобства работы с файлами)
  • Привяжу к серверу 10 IPV6 адресов
  • Установлю ftp сервер
  • При необходимости соберу кошелек из исходников
  • Запущу указанное количество мастернод с информированием о проблемах в телеграмм по alertnotify (ни разу не срабатывало)
  • Пришлю конфигурационный файл для Вашего локального кошелька - активатора

 

На втором этапе от вас потребуется:

  • Купить необходимое количество монет
  • В локальном кошельке создать адреса соответствующие количеству запускаемых мастернод используя для них следующие имена (такая система позволит однозначно идентифицировать сервер и IP адрес мастерноды. Имена кошельков также будут совпадать с именами мастернод в конфигурационном файле кошелька - активатора):
    • Aruba01.00 – кошелек для мастерноды которая будет работать на IPV4 сервера Aruba01
    • Aruba01.01 – кошелек для мастерноды которая будет работать на первом IPV6 сервера Aruba01
    • Aruba01.02, Aruba01.03 и т.д. – кошельки для мастерноды которые будут работать на втором, третьем и т.д. IPV6 сервера Aruba01
  • На каждый из этих адресов перевести сумму залога необходимую для запуска мастерноды
  • Внести транзакции и индекс в присланный мной конфигурационный файл, перезапустить кошелек и запустить мастерноды
  • Поменять пароли для доступа к серверу

 

Сервер и мастерноды будут настроены следующим образом:

  • Каждые 5 минут система будет проверять работающие демоны и, в случае необходимости, запускать их снова
  • Каждые 6 минут система будет проверять работу мастернод, сравнивая количество блоков каждой мастерноды. Если количество блоков хотя бы у одной мастерноды отстает более чем на 1 блок, то информирует об этом в телеграмм боте (бывает, что блоки застревают и мастернода бесконечно пишет masternode successfully started, что являлось правдой на застрявшем блоке, но в действительности уже не так. Возможен уход в другую цепочку)
  • Каждая мастернода и ее блокчейн находятся в своей директории (папке) с именами позволяющими идентифицировать на каком IP адресе она запущена, например:
    • .dextro00мастернода запущена на IPV4
    • .dextro01 – мастернода запущена на первом IPV6
    • .dextro02, .dextro03 и т.д. – мастернода запущена на втором, третьем и т.д. IPV6
  • Каждая папка помимо файлов необходимых для работы мастерноды содержит пять дополнительных файлов:
    • setup – файл конфигурации с именами запускаемых файлов демона, клиента и первые три цифры RPC порта (например, если порт указан 555, то для демона из директории .dextro00 RPC порт будет 55500, для .dextro01 – 55501 и т.д.)
    • start – запуск демона (мастерноды). IP адрес и RPC порт апределяются автоматически из имени директории
    • status – статус мастерноды в формате: .dextro01: 312576 blocks. Masternode successfully started, что означает, что мастернода на первом IPV6 находится на 312576 блоке и успешно работает (работала на этом блоке)
    • stopостановка мастерноды
    • stcall – выполнение RPC запроса к демону (например: ./stcall getinfo)
  • Исполняемый файл mns в домашней директории получает данные о работе всех мастернод и отображает их в следующем виде (также отображает информацию о расходе памяти, загрузке процессора, места на диске, uptime и имя сервера):
    • .dextro01: 312581 blocks. Masternode successfully started.
      .dextro02: 312581 blocks. Masternode successfully started.
      .dextro03: 312581 blocks. Masternode successfully started.
      .dextro04: 312581 blocks. Masternode successfully started.
      .dextro05: 312581 blocks. Masternode successfully started.
      The
      number of blocks is the same
      Видно, что все демоны в одинаковых цепочках и ни один из них не застрял

      Такая система контроля работы мастернод позволяет определить проблему на ранней стадии, а не тогда когда мастернода перешла в статус EXPIRED
       
  • Исполняемый файл wr – запускает остановленные или остановившиеся мастерноды
  • Исполняемые файлы ftpon и ftpoff – для включения и отключения ftp сервера (по умолчанию отключено, пользователь и пароль по умолчанию: sblack, 123)

 

Система легко расширяется самостоятельно. Если потребуется запустить еще одну мастерноду этой же монеты, то для этого нужно:

  • Остановить любую мастерноду
  • Скопировать директорию этой мастерноды в директорию со следующим индексом (в нашем примере .dextro06)
  • Запустить новую ноду выполнив файл start из этой директории или использовать wr
  • Прописать индекс (06 вместо 05) в файлы wr и mns
  • Запустить wr или подождать 5 минут – мастерноды запустятся автоматически

 

Для запуска мастернод другой монеты потребуется предварительно настроить файл setup и в дальнейшем для мастернод этой монеты использовать его.

Также просто происходит остановка (навсегда) мастернод: указываем меньший индекс в wr и mns, глушим ненужные мастерноды командами stop в соответствующих директориях.

 

Из практики могу сказать, что для большинства форков на одном сервере одновременно хорошо работают 8 мастернод, иногда 9, реже 10. Есть прожорливые форки которым тесно уже при количестве 7 штук. Рекомендую поднять 5 мастернод, посмотреть на расход памяти, добавлять ноды по одной (можно без активации – просто запустив очередного демона) проверяя расход память и работу в течение длительного периода.

 

Стоимость услуги видится в районе 1000 рублей в любом удобном Вам эквиваленте. Является услугой "под ключ" и не является обучением.

 

Edited by Serzh Black

Share this post


Link to post
Share on other sites

:- ) В текущей версии реализовано управление мастернодами через Телеграм бота:

  • Перекличка серверов - если обнаружился молчун, то значит он в дауне
  • Получение статуса мастернод и номера блока с любого сервера, подключенного к боту
  • Остановка/запуск конкретной мастерноды на любом из серверов
  • Бонус: выполнение любых команд на сервере через Телеграм бота

 

Share this post


Link to post
Share on other sites

На IPv6 вроде далеко не все монеты хотят работать? А так - молодец, сделай из этого полноценный пакет с командной строкой и прочими плюшками, назови магическим словом продукт, запили под него свою монету и продвигай-развивай) А то сейчас уже сотни всяких говеных платформ, а нормальных инструментов для самостоятельной работы фактически нет. 

Share this post


Link to post
Share on other sites

@Alex_kr спасибо! из около 40 форков, которые я разворачивал только одна монета не работала на IPV6. Точнее, она запускалась, активировалась и внешне работала, но награды мастерноде не приходили. Это был Versus. Остальные работали без проблем

Share this post


Link to post
Share on other sites

Небольшое видео о работе бота. Бот еще сырой и имеет недостатки, но работает и свои функции выполняет.

 

Теперь, получив в телеграм уведомление типа: /Aruba06 ~/dextro The number of blocks is different, достаточно тапнуть на имени сервера, посмотреть в чем там дело и, при необходимости, перезапустить мастерноду, выполнить внешнюю команду или забить на все это хозяйство, допить пиво и утром, если само не рассосалось, открыть терминал

 

Share this post


Link to post
Share on other sites

Поднял ноду REOSC. На одногиговом VPS чувствует себя вольготно. Блоки занимают чуть более 300 метров. В памяти поместятся еще две ноды точно. Ради эксперимента запустил одного демона. Работает. Но не активировал

Share this post


Link to post
Share on other sites

Демонстрационный бот: https://t.me/Masternodes_maintenance_demo_bot

 

Работает с вымышленными мастернодами на единственном сервере, в реальности ничего не запускает и никаких команд не выполняет, однако пишет, что бы он выполнил, если бы не был демкой.

 

Команда /start - перекличка серверов подключенных к боту

 

Для исполнения внешних команд на сервере используется следующий синтаксис:

/demoserver >ls

Выполнит команду ls на сервере demoserver

 

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...