Обслуживание

Мастреноды требуют регулярного обслуживания, это необходимо для того, чтобы не выпасть из очереди на выплату наград. Обслуживание включает в себя своевременное обновление Dash и поддержку уровня безопасности и производительности сервера на должном уровне. Также мастерноды должны голосовать по бюджетным предложениям и выполнять другие задачи в интересах сети и для поддержки стоимости DASH, заложенных в них.

Обновление программного обеспечения мастерноды

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

Вариант 1: Обновление из dashman

Чтобы обновить Dash, используя dashman, войдите на ваш сервер и введите следующие команды:

~/dashman/dashman sync update -y

Проверьте статус вашей мастерноды:

~/dashman/dashman status

Теперь программное обеспечение Dash на мастерноде обновлено до последней версии.

Способ 2: обновление вручную

Для обновления Dash вручную, войдите в учётную запись вашего сервера, использовав ssh или PuTTY. If your crontab contains an entry to automatically restart dashd, invoke crontab -e and comment out the appropriate line by adding the # character. It should look something like this:

# * * * * * pidof dashd || ~/.dashcore/dashd

После этого остановите работу Dash:

~/.dashcore/dash-cli stop

Посетите страницу релизов GitHub and copy the link to the latest x86_64-linux-gnu version. Go back to your terminal window and enter the following command, pasting in the address to the latest version of Dash Core by right clicking or pressing Ctrl + V:

cd /tmp
wget https://github.com/dashpay/dash/releases/download/v0.14.0.0/dashcore-0.14.0.0-x86_64-linux-gnu.tar.gz

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

sha256sum dashcore-0.14.0.0-x86_64-linux-gnu.tar.gz

Распакуйте архив и скопируйте новые файлы в папку:

tar xfv dashcore-0.14.0.0-x86_64-linux-gnu.tar.gz
cp -f dashcore-0.14.0/bin/dashd ~/.dashcore/
cp -f dashcore-0.14.0/bin/dash-cli ~/.dashcore/

Перезапустите Dash:

~/.dashcore/dashd

Вы увидите сообщение «Dash Core server starting». Сейчас мы обновим Sentinel:

cd ~/.dashcore/sentinel/
git checkout master
git pull

Finally, uncomment the line to automatically restart Dash in your crontab by invoking crontab -e again и удалением символа #.

Теперь программное обеспечение Dash на мастерноде обновлено до последней версии.

Информация по обновлению мастеноды

Периодически может возникнуть необходимость обновить информацию о мастерноде, если какие-либо данные о владельце или операторе мастерноды изменились. Например, это может быть IP адрес, изменение адреса выплат владельца/оператора или изменение назначенных для голосующего/оператора ключей. Также есть возможность отозвать зарегистрированный статус мастерноды (например, в случае проблем с безопасностью) для того, чтобы принудить и владельца, и оператора обновить данные.

ProUpServTx

Служебная Транзакция Обновления Информации о Поставщике Услуг или Provider Update Service Transaction (ProUpServTx) используется для обновления информации, касающейся оператора. Оператор может обновить IP адрес и входящие порты мастерноды. Если в изначальном ProRegTX была выставлена operatorReward отличная от нуля, то оператор может настроить поле scriptOperatorPayout в ProUpServTx. Если scriptOperatorPayout не установлена или operatorPayout не равна нулю, то владелец получает полную награду от мастерноды. ProUpServTx использует следующий синтаксис:

protx update_service proTxHash ipAndPort operatorKey (operatorPayoutAddress feeSourceAddress)

Где:

  • proTxHash: хеш изначального ProRegTx
  • ipAndPort: IP и порт из «ip:port»
  • operatorKey: BLS приватный ключ оператора, привязанный к зарегистрированному публичному ключу оператора
  • operatorPayoutAddress (по желанию): адрес, использующийся для выплаты награды оператору. Его использование разрешено только, когда ProRegTx имеет ненулевое значение в «operatorReward».
  • feeSourceAddress (по желанию): адрес, использующийся для оплаты комиссии за ProTx. Будет использоваться operatorPayoutAddress, если не указано другое.

Пример:

protx update_service d6ec9a03e1251ac8c34178f47b6d763dc4ea6d96fd6eddb3c7aae2359e0f474a 140.82.59.51:10002 4308daa8de099d3d5f81694f6b618381e04311b9e0345b4f8b025392c33b0696 yf6Cj6VcCfDxU5yweAT3NKKvm278rVbkhu

fad61c5f21cf3c0832f782c1444d3d2e2a8dbff39c5925c38033730e64ecc598

Теперь мастернода удалена из бан-списка PoSe, а IP:port и адрес награды оператора обновлены.

ProUpRegTx

Регистрационная транзакция обновления информации о провайдере или Provider Update Registrar Transaction (ProUpRegTx) используется для обновления информации, касающейся владельца. Владелец может обновить публичный BLS ключ оператора (например, чтобы назначить нового оператора), адрес голосования и адреса выплат операторов. ProUpRegTx использует следующий синтаксис:

protx update_registrar proTxHash operatorKeyAddr votingKeyAddr payoutAddress (feeSourceAddress)

Где:

  • proTxHash: id транзакции изначального ProRegTx
  • operatorKeyAddr: Обновленный BLS публичный ключ или значение "" для использования ключа последнего оператора в цепи.
  • votingKeyAddr: обновлённый адрес для ключа голосования или значение "" для использования ключа последнего оператора в цепи.
  • payoutAddress: обновлённый адрес для выплат владельцу или значение "" для использования ключа последнего оператора в цепи.
  • feeSourceAddress (по желанию): адрес для оплаты комиссии за ProTx. Если не указано иное, то будет использоваться``PayoutAddress``.

Пример обновления адреса выплат:

protx update_registrar cedce432ebabc9366f5eb1e3abc219558de9fbd2530a13589b698e4bf917b8ae "" "" yi5kVoPQQ8xaVoriytJFzpvKomAQxg6zea

ProUpRevTx

Транзакция отзыва обновления информации о провайдере или Provider Update Revocation Transaction (ProUpRevTx) используется оператором для прекращения услуг или сигнализации владельцу о том, что необходим новый BLS ключ. Данная транзакция немедленно поместит мастерноду в бан PoSe. Владелец должен будет отправить ProUpRegTx для назначения нового ключа оператора. После того как ProUpRegTX будет включена в блок, новый оператор должен будет отправить ProUpServTx для обновления метаданных и исключения из бана PoSe (восстановить мастерноду). ProUpRevTx использует следующий синтаксис:

protx revoke proTxHash operatorKey reason (feeSourceAddress)

Где:

  • proTxHash: id транзакции изначального ProRegTx
  • operatorKey: BLS приватный ключ оператора, привязанный к зарегистрированному публичному ключу оператора
  • reason: целочисленное значение, обозначающее причину отзыва
  • feeSourceAddress (по желанию): адрес, использующийся для оплаты комиссии за ProTx. Будет использоваться operatorPayoutAddress, если не указано другое.

Пример:

protx revoke 9f5ec7540baeefc4b7581d88d236792851f26b4b754684a31ee35d09bdfb7fb6 565950700d7bdc6a9dbc9963920bc756551b02de6e4711eff9ba6d4af59c0101 0

Голосование, проверки и слежение за мастернодами на DashCentral

Сайт Dash Central имеет поддержку сообщества и управляется пользователем Rango. Этот сайт стал местом, на котором «де-факто» обсуждаются бюджетные предложения, для чего там предлагается графический интерфейс, но, кроме этого, там можно следить за мастернодами.

Добавление вашей мастерноды на Dash Central

Dashcentral позволяет вам голосовать по бюджетным предложениям прямо из браузера. После завершения регистрации, пройдите на страницу мастерноды и нажмите кнопку Add masternode now. Введите адрес, на котором находится залоговое подтверждение на этом экране:

../_images/maintenance-dc-add-masternode.png

Добавление мастерноды на Dash Central

Нажмите Add masternode. Теперь ваша мастернода добавлена на DashCentral.

Включение системы голосования из Dash Central

Нажмите Edit под Voting privkeys и введите приватный ключ вашей мастерноды для подключения голосования через веб-интерфейс DashCentral. Введите кодовую фразу для голосования (она отличается от вашего пароля для входа на сайт и её также важно помнить!) и введите приватный ключ (тот же самый ключ, что вы использовали в файле dash.conf вашей мастерноды) на этом экране:

../_images/maintenance-dc-add-privkey.png

Добавление приватных ключей для голосования на Dash Central

Важно обратить внимание на то, что приватный ключ для запуска мастерноды не имеет отношения к приватным ключам адреса с залоговым подтверждением в 1000 DASH. Эти ключи могут использоваться для отдачи команд от имени мастерноды, например, на голосование и не могут использоваться для доступа к залоговому подтверждению. Эти ключи зашифрованы на вашем устройстве и не хранятся в текстовом формате на серверах DashCentral. Как только вы ввели ключ, нажмите Store encrypted voting privkeys on server. Теперь вы можете голосовать по бюджетным предложениям из веб-интерфейса DashCentral.

Подтверждение владения

Вы можете создать сообщение из своего адреса для подтверждения владения мастернодой для DashCentral. Нажмите Unverified под Ownership и появится следующий экран:

../_images/maintenance-dc-verify.png

Подтверждение владения мастернодой для DashCentral

Инструкция по подписи адреса с залоговым подтверждением через программу, связанную с кошельком. Если вы используете физический кошелёк, отличный от Trezor, то необходимо использовать приложение DMT для подписи адреса. Если вы используете физический кошелёк Trezor, то зайдите в него, скопируйте адрес суммы с залоговым подтверждением и нажмите Sign & Verify. Далее появится экран, где вы можете ввести сообщение, предоставленное Dash Central и адрес, который вы хотите подписать:

../_images/maintenance-dc-sign.png

Подпись сообщения из кошелька Trezor

Нажмите Sign, подтвердите ваш Trezor и введите PIN для подписи сообщения. Подпись сообщения появится в окне Signature. Скопируйте эту подпись, вставьте её в окно на DashCentral и нажмите Verify ownership. Процедура подтверждения завершена.

../_images/maintenance-dc-verified.png

Владение мастернодой было успешно подтверждено

Установка скрипта наблюдения за мастернодой DashCentral

DashCentral предлагает сервис для наблюдения за вашей мастернодой, автоматический перезапуск dashd в случае отключения и отправку письма по e-mail в случае ошибки. Пройдите на страницу Account settings и создайте новый ключ API, добавив к своему профилю PIN, при необходимости. Проследуйте на этот экран:

../_images/maintenance-dc-monitoring.png

Настройка скрипта наблюдения DashCentral

Скопируйте ссылку на текущую версию скрипта dashcentral, нажав правой кнопкой мыши и выбрав Copy link address. Откройте PuTTY, присоединитесь к своей мастерноде и напечатайте:

wget https://www.dashcentral.org/downloads/dashcentral-updater-v6.tgz

Заместите ссылку ссылкой с текущей версией dashcentral-updater, если необходимо. Разархивируйте архив, используя следующую команду:

tar xvzf dashcentral-updater-v6.tgz

Подробную информацию о конфигурации вашей мастерноды можно увидеть напечатав:

cat .dashcore/dash.conf

Скопируйте значения для rpcuser` и ``rpcpassword. Далее, отредактируйте конфигурацию dashcentral, написав:

nano dashcentral-updater/dashcentral.conf

Замените значения api_key, адреса залогового подтверждения вашей мастерноды, rpc_user, rpc_password, daemon_binary и daemon_datadir в соответствии с вашей системой. Чаще всего, конфигурация выглядит следующим образом, где lwhite это имя пользователя Linux:

../_images/maintenance-dc-update-config.png

Конфигурационный файл DashCentral updater

################
# dashcentral-updater configuration
################

our %settings = (
    # Enter your DashCentral api key here
    'api_key' => 'api_key_from_dashcentral'
);

our %masternodes = (
    'masternode_collateral_address' => {
        'rpc_host'           => 'localhost',
        'rpc_port'           => 9998,
        'rpc_user'           => 'rpc_user_from_dash.conf',
        'rpc_password'       => 'rpc_password_from_dash.conf',
        'daemon_autorestart' => 'enabled',
        'daemon_binary'      => '/home/<username>/.dashcore/dashd',
        'daemon_datadir'     => '/home/<username>/.dashcore'
    }
);

Нажмите Ctrl + X для выхода, подтвердите, что хотите сохранить, нажав Y , далее нажмите Enter. Протестируйте свою конфигурацию, запустив скрипт dashcentral, затем проверьте сайт. Если всё прошло успешно, вы увидете, что было отправлено обновление:

dashcentral-updater/dcupdater
../_images/maintenance-dc-update.png

Тестирование DashCentral updater вручную

../_images/maintenance-dc-success.png

DashCentral updater успешно отправил данные на сайт DashCentral

Как только вы убедились, что ваша конфгурация работает, то можно отредактировать crontab вашей системы для задачи расписания работы скрипта dcupdater каждые 2 минуты. Это позволит системе выдать вам раннее предупреждение в случае неполадок и перезапустит dash daemon в случае его зависания или прекращения работы. Это эффективный способ обрести уверенность в том, что вы не выпадите из очереди на выплаты. Напечатайте следующую команду:

crontab -e

При необходимости, выберите редактор и добавьте следующую строку в ваш crontab после строки для sentinel, заменив lwhite вашим именем пользователя системы:

*/2 * * * * /home/lwhite/dashcentral-updater/dcupdater
../_images/maintenance-dc-crontab.png

Редактирование crontad для автоматического запуска DashCentral updater

Нажмите Ctrl + X для выхода, подтвердите, что хотите сохранить, нажав Y , далее нажмите Enter. Теперь скрипт dcupdater будет запускаться каждые 2 минуты, перезапускать dashd, когда это будет необходимо и отправлять вам e-mail в случае ошибки.

Интсрументы за наблюдением за мастернодой

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

Обозреватели блоков

Поскольку Dash является публичным блокчейном, то для просмотра балансов публичных адресов Dash возможно использование обозревателей блоков. Также возможно исследовать транзакции в любом блоке. Каждая уникальная транзакция доступна к поиску через txid. Для сети Dash существует несколько обозревателей блоков.

Dash Masternode Tool

https://github.com/Bertrand256/dash-masternode-tool

Программа написана и поддерживается членом сообщества Dash Bertrant256. Dash Masternode Tool (DMT) позволяет осуществлять запуск мастерноды со всех ведущих физических кошельков, таких как Trezor, Ledger и KeepKey. Дополнительно, программа поддерживает функцию голосования по бюджетным предложениям и вывода выплат для мастернод, не затрагивая залоговое подтверждение.

DASH Ninja

https://www.dashninja.pl

DASH Ninja управляется участником форума и разработчиком Dash Core под именем elbereth. Предлагается ключевая статистика по применению различных версий Dash во всей сети мастернод. Есть несколько функций для наблюдения за управлением Dash, расписанием вылат и географическим распределением мастернод. Доступен простой обозреватель блоков.

DashCentral

https://www.dashcentral.org

DashCentral управляется членом форума под именем rango, на этом портале предлагаются продвинутые сервисы для наблюдения за мастернодами и голосованию по бюджетным предложениям через многофункциональный веб-интерфейс. Доступно приложение для Android.

Masternode.me

https://stats.masternode.me

Masternode.me управляется членом форума и разработчиком Dash Core под именем moocowmoo. Предлагается информация по цене, скорости генерации блоков, информация по блокчейну и некоторая информация по мастернодам.

Dash Masternode Information

http://178.254.23.111/~pub/Dash/Dash_Info.html

Этот сайт управляется членом форума и разработчиком Dash Core под именем crowning. Он предлагает визуализацию различной важной статистики сети мастернод Dash, включая графики общего числа мастернод, информацию по цене и распределение сети.