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

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

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

Программное обеспечение Dash Core требует регулярного обновления, чтобы оставаться в соответствии с текущим сетевым консенсусом. Чтобы вручную обновить свою мастерноду, выполните описанную ниже процедуру. Если вы все еще используете устаревшую программу установки dashman, обратитесь к документации по обновлению устаревшей версии <https://docs.dash.org/en/0.15.0/masternodes/maintenance.html#masternode-software-update>`__.

Ручное обновление#

Для обновления Dash вручную, войдите в учётную запись вашего сервера, использовав ssh или PuTTY. Если в вашем файле crontab содержится запись для автоматического перезапуска dashd, запустите crontab -e и пропишите соответствующую строку добавлением символа #. Это должно выглядеть вот так:

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

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

~/.dashcore/dash-cli stop

Посетите страницу релизов GitHub и скопируйте ссылку в последнюю версию x86_64-linux-gnu. Вернитесь в окно терминала и введите следующую команду, вставив адрес в последней версии Dash Core, кликнув правой кнопкой мыши или нажав Ctrl + V:

cd /tmp
wget https://github.com/dashpay/dash/releases/download/v20.1.1/dashcore-20.1.1-x86_64-linux-gnu.tar.gz

Убедитесь в подлинности загруженного файла, сверив его подпись с открытым ключом, опубликованным командой разработчиков Dash Core. Все выпуски Dash подписываются с помощью GPG одним из следующих ключей:

  • Александр Блок (codablock) с ключом 63A9 6B40 6102 E091, ``верифицируемый здесь на Keybase <https://keybase.io/codablock>`__

  • Pasta с ключом 5252 7BED ABE8 7984, ``верифицируемым здесь на Keybase <https://keybase.io/pasta>`__

curl https://keybase.io/codablock/pgp_keys.asc | gpg --import
curl https://keybase.io/pasta/pgp_keys.asc | gpg --import
wget https://github.com/dashpay/dash/releases/download/v20.1.1/dashcore-20.1.1-x86_64-linux-gnu.tar.gz.asc
gpg --verify dashcore-20.1.1-x86_64-linux-gnu.tar.gz.asc

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

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

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

~/.dashcore/dashd

Вы увидите сообщение «Запуск сервера Dash Core». Программное обеспечение Dash на мастерноде теперь обновлено.

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

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

Смена ключа оператора BLS или создание нового ProTx на основе той же операции обеспечения приведет к сбросу позиции в очереди на выплату. Смена IP-адреса или внесение изменений в адреса голосования или различных выплат не приведет к сбросу позиции в очереди на выплату.

ProUpServTx#

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

protx update_service proTxHash ipAndPort operatorKey (operatorPayoutAddress feeSourceAddress)

Где:

  • proTxHash: id транзакции изначального ProRegTx

  • ipAndPort: IP и порт из «ip:port»

  • operatorKey: BLS приватный ключ оператора, привязанный к зарегистрированному публичному ключу оператора

  • operatorPayoutAddress (необязательно): Адрес, используемый для выплат вознаграждений операторам. Допускается только в том случае, если ProRegTx имел ненулевое значение operatorReward. Введите "", чтобы использовать последний адрес выплаты вознаграждения оператора, или в качестве заполнителя при указании feeSourceAddress.

  • 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 можно создать из DMT, нажав кнопки Update operator key, Update voting key или Update payout addr., или из Dash Core, используя следующий синтаксис:

protx update_registrar proTxHash operatorKeyAddr votingKeyAddr payoutAddress (feeSourceAddress)

Предупреждение

После активации хард форка v19 необходимо использовать ``protx update_registrar_legacy““, если для обновления регистратора мастерноды используется BLS-ключ по устаревшей схеме.

Где:

  • 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 можно создать из DMT, нажав кнопку Revoke operator, или из Dash Core, используя следующий синтаксис:

protx revoke proTxHash operatorKey reason (feeSourceAddress)

Где:

  • proTxHash: id транзакции изначального ProRegTx

  • operatorKey: BLS приватный ключ оператора, привязанный к зарегистрированному публичному ключу оператора

  • reason: целочисленное значение, обозначающее причину отзыва

  • feeSourceAddress (по желанию): адрес, использующийся для оплаты комиссии за ProTx. Будет использоваться operatorPayoutAddress, если не указано другое.

Пример:

protx revoke 9f5ec7540baeefc4b7581d88d236792851f26b4b754684a31ee35d09bdfb7fb6 565950700d7bdc6a9dbc9963920bc756551b02de6e4711eff9ba6d4af59c0101 0

Proof of Service Bans#

Если ваш мастернода не может обеспечить обслуживание сети в соответствии с действующими правилами консенсуса, он получит Proof of Service Ban. Если ваша мастернода находится в статусе POSE_BANNED, необходимо проверить правильность следующих настроек:

  • Убедитесь, что вы используете последнюю версию Dash.

  • Убедитесь, что мастерноде достаточно памяти, свопа, вычислительной мощности и места на жестком диске

  • Убедитесь, что вы полностью синхронизированы с корректной высотой блока, и что вы находитесь в правильной цепочке, а не в вилочном соединении

  • Убедитесь, что закрытый ключ BLS указан с помощью опции masternodeblsprivkey в файле dash.conf мастерноды

  • Убедитесь, что закрытый ключ BLS мастерноды уникален в сети и не используется совместно с другими узлами.

  • Убедитесь, что закрытый ключ BLS мастерноды соответствует открытому ключу BLS, зарегистрированному на блокчейне в ProRegTx или ProUpRegTx.

  • Убедитесь, что externalipport, если используется testnet) указаны правильно и не заблокированы брандмауэром или службой переадресации портов

Убедившись в правильности этих настроек, можно обновить статус обслуживания в сети и вернуться к действительному набору мастернод, создав ProUpServTx. После восстановления обслуживания внимательно следите за состоянием своего мастерноды с помощью masternode status и/или файла debug.log. Эта информация поможет определить конкретную неправильную конфигурацию, из-за которой мастер-узел был запрещен. Если мастернода продолжает отказываться от обслуживания, он будет снова запрещен.

Голосование, проверки и слежение за мастернодами на 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, заменив 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#

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, на этом портале предлагаются продвинутые сервисы для наблюдения за мастернодами и голосованию по бюджетным предложениям через многофункциональный веб-интерфейс.

Masternode.me#

https://stats.masternode.me

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

Информация о мастерноде#

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

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