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

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

Вывод платежей

Как только ваша мастернода будет принята сетью, то она попадёт в очередь мастернод на выплаты и медленно начнёт двигаться по ней вверх. Мастернода, находящаяся в верхних 10% списка выбирается для выплаты награды и получает её каждый раз, когда майнится новый блок Dash. Для большей информации по этому процессу, обратитесь сюда. Выплаты мастерноде направляются на тот же арес, который был использован для её запуска, это означает, что нужно быть аккуратным при снятии с неё средств. 1000 DASH, которые изначально были в неё заложены, должны в ней оставаться в форме выхода единократной непотраченной транзакции (UTXO), иначе ваша мастернода выпадет из списка. ID этой транзакции вы могли видеть, когда готовились отправить команду на старт мастерноды. Выплаты приходят с разными UTXO, поэтому необходим способ, с помощью которого можно будет снимать средства только UTXO выплат, а не той, которая содержит 1000 DASH. Обратите внимание, что выплаты мастернодам могут быть потрачены только после 100 подтверждений.

Способ 1: снятие средств с помощью физического кошелька

Если для запуска мастерноды вы используете физический кошелёк, например, Trezor, то для вывода выплат следует использовать это руководство. Для выбора правильных выходов мы будем использовать Dash Masternode Tool (DMT) от Bertrand256. С помощью DMT мы можем выбрать конкретные UTXO для вывода выплат и, благодаря этому, избежим затрагивания транзакции с изначально заложенным подтверждением. Сделать это исключительно в веб-версии кошелька Trezor невозможно.

Open DMT and verify the RPC and HW connections are working. From the Tools menu, select Transfer funds from current masternode’s address or Transfer funds from all masternode’s addresses, if you use DMT to control multiple masternodes.

../_images/maintenance-dmt-tools.png

Выбор функции передачи средств в DMT

DMT понадобится некоторое время на загрузку, далее на экране появятся UTXO, которые возможно использовать для снятия. По умолчанию все UTXO, которые не использовались для залогового подтверждения, помечены галочками. UTXO залогового подтверждения не только не помечены галочками, но и вообще спрятаны для избежания непреднамеренной траты средств, связанных с залоговым подтверждением, так как их трата приведёт к прекращению работы мастерноды. Посмотреть эти UTXO можно, сняв галочку с Hide collateral utxos. Далее, введите адрес платежа. Должно появиться следующее окно:

../_images/maintenance-dmt-utxos.png

Выбор UTXO, которые будут использоваться как вводы в транзакции при снятии средств

Проверьте комиссию за транзакцию и нажмите Send. Ваш Trezor запросит PIN и подтверждение транзакции на устройстве. Как только это будет сделано, подтвердите в DMT ещё раз, что вы хотите провести транзакцию через сеть, нажав Yes. Появится подтверждение и ID транзакции.

../_images/maintenance-dmt-broadcast.png
../_images/maintenance-dmt-sent.png

Подтверждение проведения транзакции через сеть

Способ 2: снятие с кошелька Dash Core

Точно так же, как и в вышеуказанном способе, необходим способ ограничения того, какие UTXO при снятии средств с мастерноды можно потратить, будучи уверенным, что UTXO залогового подтверждения не будет затронута. В кошельке Dash Core такая функция называется Coin Control и, перед использованием, её необходимо включить. Нажмите Settings > Options > Wallet > Enable coin control features. Теперь, когда вы зайдёте во вкладку кошелька Send, то увидете новую кнопку с названием Inputs….Нажмите на эту кнопку и выберите, какие UTXO могут использоваться в качестве ввода для любой созданной вами транзакции. Появится следующее меню:

../_images/maintenance-dashcore-coin-selection.png

Окно Coin Selection в кошельке Dash Core, показывающее две мастерноды (в тестовой сети)

Нажмите правой кнопкой мыши на транзакцию (транзакции) в 1000 DASH, затем выберите Lock unspent. Напротив транзакции появится значок замка. Далее нажмите ОК. Теперь вы можете безопасно создавать транзакции из оставшихся средств и они не будут задействовать изначальный UTXO залогового подтверждения.

../_images/maintenance-dashcore-lock-unspent.png
../_images/maintenance-dashcore-locked.png

Блокирование UTXO в кошельке Dash Core

Как обновлять мастерноду

Периодически команда разработчиков Dash Core будет выпускать обновления Dash. На нодах, как узлах сети, лежит нагрузка по обеспечению услуг сети и хранению копий блокчейна, поэтому, от мастернод требуется своевременное обновление до новых версий Dash и Sentinel. В некоторых случаях может понадобится обновление компьютерного оборудования (увеличение оперативной памяти, мощности процессора, пространства на диске, даже установка специальных графических процессоров или ASIC’ов). При необновлении ваша мастернода неизбежно будет удалена из очереди на выплаты. Если вы хостите мастерноду, то слежение за обновлениями возьмёт на себя хостер. Если же вы самостоятельно держите мастерноду, то способ обновления зависит от того, как вы установили Dash.

Незначительные обновления версий Dash (например, с 0.12.3.1 до 0.12.3.2) не вносят изменений в версию протокола, крупные же обновления (например, с 0.12.2.3 до 0.12.3.0) меняют версию протокола на более старшую. Если версия протокола не поменялась и вы выполнили обновление в течении 60 минут, то необходимости перезапускать мастерноду НЕТ. Есди же версия протокола поменялась, то из кошелька необходимо отправить команду на запуск. Не отправляйте команды на запуск мастерноды без необходимости, так как ваша мастнода уйдёт в конец очереди на выплаты.

Способ 1: автоматические обновление с помощью dashman

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

~/dashman/dashman sync
~/dashman/dashman update

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

~/dashman/dashman status

Если вы выполняете крупное обновление и необходимо перезапустить мастерноду, то обновите версию кошелька, на котором лежит залоговое подтверждение до последней согласно инструкциям здесь. Продолжайте наблюдать за своей мастернодой. После некоторого времени все статусы должны стать зелёными, в частности masternode started: YES и masternode network state: ENABLED.

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

Для обновления Dash вручную, зайдите на свой сервер используя ssh или PuTTY. В первую очередь необходимо остановить работу Dash:

~/.dashcore/dash-cli stop

Чтобы скачать и установить компоненты мастерноды, посетите со своего компьютера https://www.dash.org/wallets/ и найдите там ссылку на последнюю версию кошелька Dash Core. Нажмите Linux, далее правой кнопкой мыши на Download TGZ для Dash Core Linux 64 Bit и выберите Copy link address. Вернитесь обратно в окно своего терминала и введите там следующую команду, вставив из буфера нажатием Ctrl + V адрес последней версии Dash Core:

cd ~
wget https://github.com/dashpay/dash/releases/download/v0.12.3.3/dashcore-0.12.3.3-x86_64-linux-gnu.tar.gz

Проверьте целостность скачанного, запустив следующую команду и сравнив выходное значение со значением файла, указанным на сайте Dash под Hash File:

sha256sum dashcore-0.12.3.3-x86_64-linux-gnu.tar.gz
../_images/setup-manual-download.png

Ссылка на хеш файл для проверки целостности скачанного

Удалите старые бинарные файлы из рабочей директории, разархивируйте архив, скопируйте новые файлы в директорию и установите их в качестве исполнительных файлов:

rm ~/.dashcore/dashd
rm ~/.dashcore/dash-cli
tar xfvz dashcore-0.12.3.3-x86_64-linux-gnu.tar.gz
cp dashcore-0.12.3/bin/dashd ~/.dashcore/
cp dashcore-0.12.3/bin/dash-cli ~/.dashcore/

Удалите ненужные файлы:

rm dashcore-0.12.3.3-x86_64-linux-gnu.tar.gz
rm -r dashcore-0.12.3/

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

~/.dashcore/dashd

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

cd ~/.dashcore/sentinel/
git pull

Если во время этого обновления версия протокола изменилась, то надо дать команду из вашего кошелька. Если вы используете физический кошелёк, то можете дать команду просто нажав на кнопку в DMT. Если вы используете кошелёк Dash Core, то обновите его до последней версии, откройте консоль наладки/debug console и введите эту команду, где вместо MN1 поставьте название вашей мастерноды:

masternode start-alias MN1

Следите за статусом мастерноды по мере её запуска:

~/.dashcore/dash-cli getblockcount
~/.dashcore/dash-cli getnetworkinfo
~/.dashcore/dash-cli mnsync status
~/.dashcore/dash-cli masternode status

В частности, последняя команда должна вернуть статус Masternode succesfully started. Если вы видете сообщение об ошибке, такое как Invalid protocol version, то версия протокола поменялась и необходимо ещё раз дать команду на запуск из вашего кошелька. Так же можно следить за статусом вашей мастерноды из Sentinel. Если Sentinel определяет работающую мастерноду, то после этой команды ничего не придёт в ответ:

cd ~/.dashcore/sentinel
venv/bin/python bin/sentinel.py

Наконец, вы можете проверить вашу мастерноду по адресу залогового подтвеждения, используя DashNinja, или найти список консенсусов мастернод, используя эту команду и введя IP адрес вашей мастерноды:

~/.dashcore/dash-cli masternode list full | grep <your ip address>

Поиск своей позиции в очереди на выплаты

В версиях предшествовавших версии 0.12.4, каждая мастернода могла видеть сеть несколько по-разному. Вдобавок, выбор из 10% мастернод вверху списка :ref:`selection pool ` /пула выбора/ случаен. Это означает, что нет точного ответа, когда ваша мастернода будет выбрана для выплаты. Тем не менее, возможно сделать приближительные расчёты, основанные на времени, когда ваша мастернода попала в конец списка.

Члены сообщества Dash xkcd, Bertrand256 и moocowmoo опубликовали свои инструменты для определения примерной позиции в очереди выплат, боты доступны в Discord и Slack.

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