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

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

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

The Dash Core software requires regular updates in order to remain consistent with the current network consensus. Follow the procedure described below to manually update your masternode. If you are still using the legacy dashman installer, see the legacy update documentation here.

Manual update#

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

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

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

~/.dashcore/dash-cli stop

Visit the GitHub releases page 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/v18.2.1/dashcore-18.2.1-x86_64-linux-gnu.tar.gz

Verify the authenticity of your download by checking its detached signature against the public key published by the Dash Core development team. All releases of Dash are signed using GPG with one of the following keys:

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/v18.2.1/dashcore-18.2.1-x86_64-linux-gnu.tar.gz.asc
gpg --verify dashcore-18.2.1-x86_64-linux-gnu.tar.gz.asc

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

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

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

~/.dashcore/dashd

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

cd ~/.dashcore/sentinel/
git checkout master
git pull
venv/bin/pip install -r requirements.txt

В завершение, раскомментируйте строку для автоматического перезапуска Dash в файле crontab повторным запуском crontab -e и удалением символа #.

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

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

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

Changing the BLS operator key or creating a new ProTx based on the same collateral transaction will reset your position in the payment queue. Changing your IP address or making changes to the voting or various payout addresses will not reset your position in the payment queue.

ProUpServTx#

A Provider Update Service Transaction (ProUpServTx) is used to update information relating to the operator. An operator can update the IP address and port fields of a masternode entry. If a non-zero operatorReward was set in the initial ProRegTx, the operator may also set the operatorPayoutAddress field in the ProUpServTx. If operatorPayoutAddress is not set and operatorReward is non-zero, the owner gets the full masternode reward. A ProUpServTx can be created from DMT by clicking the Update service button, or from Dash Core using the following syntax:

protx update_service proTxHash ipAndPort operatorKey (operatorPayoutAddress feeSourceAddress)

Где:

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

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

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

  • operatorPayoutAddress (optional): The address used for operator reward payments. Only allowed when the ProRegTx had a non-zero operatorReward value. Enter "" to use the last on-chain operator payout address, or as a placeholder when specifying a feeSourceAddress.

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

Пример:

protx update_service d6ec9a03e1251ac8c34178f47b6d763dc4ea6d96fd6eddb3c7aae2359e0f474a 140.82.59.51:10002 4308daa8de099d3d5f81694f6b618381e04311b9e0345b4f8b025392c33b0696 yf6Cj6VcCfDxU5yweAT3NKKvm278rVbkhu

fad61c5f21cf3c0832f782c1444d3d2e2a8dbff39c5925c38033730e64ecc598

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

ProUpRegTx#

A Provider Update Registrar Transaction (ProUpRegTx) is used to update information relating to the owner. An owner can update the operator’s BLS public key (e.g. to nominate a new operator), the voting address and their own payout address. A ProUpRegTx can be created from DMT by clicking the Update operator key, Update voting key or Update payout addr. buttons, or from Dash Core using the following syntax:

protx update_registrar proTxHash operatorKeyAddr votingKeyAddr payoutAddress (feeSourceAddress)

Где:

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

  • operatorKeyAddr: Обновленный BLS публичный ключ или значение "" для использования ключа последнего оператора в цепи.

  • votingKeyAddr: An updated voting key address, or "" to use the last on-chain voting key

  • payoutAddress: обновлённый адрес для выплат владельцу или значение "" для использования ключа последнего оператора в цепи.

  • feeSourceAddress (по желанию): адрес для оплаты комиссии за ProTx. Если не указано иное, то будет использоваться``PayoutAddress``.

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

protx update_registrar cedce432ebabc9366f5eb1e3abc219558de9fbd2530a13589b698e4bf917b8ae "" "" yi5kVoPQQ8xaVoriytJFzpvKomAQxg6zea

ProUpRevTx#

A Provider Update Revocation Transaction (ProUpRevTx) is used by the operator to terminate service or signal the owner that a new BLS key is required. It will immediately put the masternode in the PoSe-banned state. The owner must then issue a ProUpRegTx to set a new operator key. After the ProUpRegTx is mined to a block, the new operator must issue a ProUpServTx to update the service-related metadata and clear the PoSe- banned state (revive the masternode). A ProUpRevTx can be created from DMT by clicking the Revoke operator button, or from Dash Core using the following syntax:

protx revoke proTxHash operatorKey reason (feeSourceAddress)

Где:

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

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

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

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

Пример:

protx revoke 9f5ec7540baeefc4b7581d88d236792851f26b4b754684a31ee35d09bdfb7fb6 565950700d7bdc6a9dbc9963920bc756551b02de6e4711eff9ba6d4af59c0101 0

Proof of Service Bans#

If your masternode fails to provide service to the network in accordance with the current consensus rules, it will receive a Proof of Service Ban. If your masternode is in the POSE_BANNED status, you should check the following settings are configured correctly:

  • Ensure you are running the latest version of Dash

  • Ensure your masternode has sufficient memory, swap, processing power and hard drive space

  • Ensure you are fully synced to the correct blockheight, and that you are on the correct chain and not forked off

  • Ensure that a BLS private key is specified using the masternodeblsprivkey option in the masternode’s dash.conf file

  • Ensure that the BLS private key on the masternode is unique on the network and not shared with any other masternodes

  • Ensure that the BLS private key on the masternode corresponds to the BLS public key registered on the blockchain in the ProRegTx or ProUpRegTx

  • Ensure that the externalip (and port if using testnet) are specified correctly and not blocked by a firewall or port forwarding service

  • Ensure that Sentinel is installed, updated, not exiting with an error and is entered in your crontab to run every 1-2 minutes

Once you are certain these settings are correct, you can update your service status on the network and return to the valid set of masternodes by creating a ProUpServTx. Monitor your masternode closely using masternode status and/or the debug.log file after restoring service. This information can help you pinpoint the specific misconfiguration that is causing the masternode to be banned. The masternode will be banned again if it continues to fail to provide service.

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

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, operated by forum member rango, offers an advanced service to monitor masternodes and vote on budget proposals through an advanced web interface. A mobile monitoring interface is also available.

Masternode.me#

https://stats.masternode.me

Masternode.me, operated by Dash community member moocowmoo, offers sequential reports on the price, generation rate, blockchain information and some information on masternodes.

Dash Masternode Information#

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

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