维护

主节点需要定期维护,以确保您不会从支付队列中退出。这包括及时安装达世币的更新版本,以及保持服务器的安全性和性能。此外,主节点应该对提案进行投票,并为了网络的利益和他们所持有的达世币的价值而执行其他任务。

提取奖励

您的主节点一旦被网络接受,它将进入主节点支付队列,并开始缓慢地上升。在队列的前10%中选择一个主节点,每次挖掘到新的达世币区块时都会向队列的前10%中的一个主节点支付奖励。有关此过程的详细信息,请参阅此处。这些奖励被发送的地址与您用于启动您的主节点的地址相同,这意味着您在提取奖励的时候需要小心。您原来用于启动主节点存放的1000 个达世币必须在单个未花费的交易输出(utxo)中保持不变,否则您的主节点将从支付队列中踢出-当准备发送启动主节点命令时,您可能已经看到了此ID。支付以独立的UTXO形式显现,因此我们需要一种只使用UTXO交易,而不是包含1000个达世币的交易方法。请注意,主节点的奖励只能在100次确认后使用。

选项1:使用硬件钱包提币

如果您使用诸如Trezor这样的硬件钱包启动主节点,则还必须使用此过程进行提取奖励。我们将再次使用Bertrand 256的达世币主节点工具(DMT)来选择正确的输出。使用DMT,我们可以选择特定的UTXOs方式来提币,而不涉及原始的保证金交易。这个过程只使用Trezor网络钱包是不可能完成的。

打开DMT并验证RPC和HW连接是否工作。如果您使用DMT来控制多个主节点,在 工具 菜单中,选择 从当前主节点的地址转移资金从所有主节点的地址转移资金

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

在DMT中选择资金转移功能

DMT将加载一会儿,然后呈现一个窗口,显示您可以在您的取款中使用的可用的UTXOs。默认情况下,所有未用作主节点保证金的UTXO将被检查。主节点保证金UTXOs不仅不受检查,而且是隐藏的,以避免无意中发送与保证金相关的资金并停止您的主节点。您可以通过取消检查 隐藏担保品utxos 选项来显示这些隐藏条目。输入您交易的目标地址。窗口应显示如下:

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

选择UTXOs来用作在提币交易中的输入

确认交易费用,然后单击 发送 。您的Trezor将提示您输入PIN码并确认设备上的交易。确认完成后,再次向DMT确认您希望通过单击“是”将交易广播到网络。然后将显示对交易ID的确认。

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

确认将交易广播到网络

选项2: 从Dash Core钱包取币

与上面描述的DMT类似,我们需要在Dash Core钱包中使用一种方法来限制从主节点地址取款时花费了哪些UTXOs,以确保未触及保证金UTXO。在Dash Core钱包中,这个功能被称为货币控制,您必须在启用它之后才能使用。单击 设置 > 选项 > 钱包 > 启用货币控制功能 。现在,当您转到钱包中的 发送 选项上时,将会出现一个标签为 输入 的新按钮。单击此按钮可选择哪些UTXOs来用作您创建的任何交易的输入。以下窗口将会出现:

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

达世币核心钱包中的货币选择界面,显示两个主节点(测试网)

右键单击显示1000 达世币数量的(多个)交易,然后选择 锁定未用 。交易旁边将出现一个小锁。然后单击 OK 。现在,您可以安全地使用剩余的资金创建交易,而不会影响原始的UTXOs保证金。

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

在Dash Core钱包当中锁定未经支付的输出

如何更新主节点

Dash Core开发团队会定期发布达世币的更新版本。由于普通节点依赖于达世币来获取服务和区块链的副本,因此主节点需要迅速更新到达世币 和Sentinel的新版本。在某些情况下,硬件升级(更优的CPU、更大的RAM或磁盘空间,甚至是定制的GPU/ASIC硬件)也可能是必要的。不更新将最终导致您的主节点被从支付队列中提出。如果您运行一个托管的主节点,您的托管服务商将为您处理更新。如果不是,更新方法取决于您如何安装达世币。

达世币的次要版本更新 (例如从 0.12.3.1 到 0.12.3.2 ) 不会对协议版本进行更改,而主要版本更新(例如从 0.12.2.3 到 0.12.3.0 )通常会增加网络协议版本。如果协议版本没有更改,且如果您在60分钟内完成更新,则不需要重新激活您的主节点。如果协议版本确实发生了变化,您必须从您的钱包中发布激活命令。如果没有必要,不要向您的主节点发送激活命令,因为它会使您的主节点重新排队。

选项1: 使用Dashman自动更新

若要使用Dashman更新达世币,请登录到您的服务器并输入以下命令:

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

检查您的主节点的状态:

~/dashman/dashman status

如果您正在进行主要版本更新,并且需要重新激活您的主节点,请按照以下说明,更新持有保证金的钱包的软件版本至最新版本 查看此处 。继续监测主节点。过一段时间之后,所有状态都会变成绿色,特别是 主节点已启动: Yes主节点网络状态: 已启用

方法2: 手动更新

要手动更新Dash,请使用ssh或PuTTY登录到您的服务器。首先,我们需要停止运行达世币:

~/.dashcore/dash-cli stop

要手动下载和安装您的达世币主节点工具的组件,请在电脑上访问 https://www.dash.org/wallets/ ,以查找到Dash Core钱包最新版本的链接。单击 Linux ,然后右键单击 Dash Core Linux 64 Bit 中的 下载TGZ ,并选择 复制链接地址 。然后返回到您的终端窗口并输入以下命令,右键单击或按下 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

通过运行以下命令,并将输出与诸如 Hash 文件 下达世币网站所示的该文件的值进行比较来验证您下载的完整性:

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

链接到Hash文件以验证下载完整性

从工作目录中删除旧的二进制文件,解压压缩的归档文件,将新文件复制到目录中,并将它们设置为可执行文件:

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/

重新启动达世币:

~/.dashcore/dashd

您将看到一条消息,上面写着 “Dash Core服务器激活” 。我们现在将更新Sentinel:

cd ~/.dashcore/sentinel/
git pull

如果协议版本在此更新期间更改,您则需要从您的钱包中发出激活命令。如果您正在使用硬件钱包,则只需单击DMT中的按钮即可发出激活命令。如果您正在使用Dash Core钱包,请将其更新为最新版本,然后打开调试控制台并输入以下命令,其中MN1是主节点的别名:

masternode start-alias MN1

监测主节点激活时的状态:

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

特别要注意的是,最后一个命令应该返回状态 Masternodes成功激活 。如果您看到类似于 无效协议版本 的错误,则协议版本已经更改,您必须再次从您的钱包发送激活命令。您从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%的主节点 选取池 的选择是随机的。这意味着您的主节点在何时将被选择获得奖励并没有明确的答案。但是,可以根据您的主节点进入队列后面的时间得到大致的时间。

社区成员xkcd、Bertrand 256和moocowmoo都发布了各种工具,您可以运行这些工具来确定您在支付队列中的大致位置,而bots也可以在Discord和Slack上使用。

DashCentral 投票,验证和监测

DashCentral是由社区成员Rango管理的以支持社区为主的网站。它已成为一个 事实上的 网站,用来讨论预算提案,以方便从图形用户界面投票,但它也提供了监测主节点的功能。

将您的主节点添加到DashCentral

Dashcentral 允许您在浏览器的舒适环境下对提案进行投票。在完成 注册 <https://www.dashcentral.org/register>`_后,转到 `主节点 页面并单击 现在添加主节点 按钮。在以下屏幕上输入您的钱包地址:

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

向DashCentral添加一个主节点

单击 添加主节点 。您的主节点现在已经被添加到DashCentral。

从DashCentral启用投票

投票私钥 下单击 编辑 来输入您的主节点私钥,以便通过DashCentral 网站界面进行投票。输入投票密码(与登录密码不同,但同样重要需要记住!),并在以下屏幕上输入私钥(在主节点上的dash.conf文件中使用的相同的密钥):

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

将投票私钥添加到DashCentra

需要注意的是,激活您的主节点的私钥与存储1000个达世币的钱包地址的私钥无关。这些密钥可用于代表主节点发送命令,如投票,但不能用于获取保证金。这些密钥在您的设备上是被加密的,且从未以纯文本形式存储在DashCentral服务器上。一旦您输入了密钥,单击 在服务器上存储加密的投票私钥 。您现在可以从DashCentral 网站界面对提案进行投票。

验证所有权

您也可以从您的地址发出一条消息来验证您的主节点对DashCentral的所有权。在 所有权 下单击 未验证 ,将出现以下屏幕:

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

验证您的主节点对DashCentral的所有权

有关如何使用软件钱包保证金地址的说明将会显示出来。如果您正在使用除Trezor以外的硬件钱包,您则需要使用DMT应用程序对地址进行签名。如果您正在使用Trezor硬件钱包,转到您的Trezor wallet,复制钱包地址,然后单击 签名和验证 。以下屏幕将会出现,您可以在其中输入DashCentral提供的信息和您希望签名的地址:

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

从Trezor钱包签名信息

单击 签名 ,在您的Trezor设备上确认并输入您的PIN码来签名该信息。信息签名将出现在 签名 框中。复制此签名并将其粘贴到DashCentral上的方框中,并单击 验证所有权 。验证工作现已完成。

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

主节点所有权已被成功验证

安装DashCentral监测脚本

DashCentral提供一项监测您的主节点的服务,它会在系统崩溃时自动重新启动dashd,并在发生错误时发送电子邮件。转到 账户设置 页面,并生成一个新的API密钥,必要时向您的帐户添加一个PIN码。滚动到以下屏幕:

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

设置DashCentral监测脚本

右键单击并选择 复制链接地址 将链接复制到DashCentral脚本的当前版本。打开PuTTY并连接到您的主节点,然后键入:

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

必要时用当前版本的DashCentral更新程序替换链接。使用以下命令解压压缩的归档文件:

tar xvzf dashcentral-updater-v6.tgz

通过键入查看您的主节点配置的详细信息:

cat .dashcore/dash.conf

复制 rpcuserrpcpassword 的值。然后通过键入来编辑DashCentral配置:

nano dashcentral-updater/dashcentral.conf

根据您的系统替换 api_key、您的主节点的钱包地址、 rpc_userrpc_passworddaemon_binarydaemon_datadir 的值。在常见的配置中, lwhite 是Linux用户的名称,可能如下所示:

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

DashCentral更新程序配置文件

################
# 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更新程序

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

DashCentral更新程序已成功地将数据发送到DashCentral站点

一旦您验证了您的配置有效,我们就可以在您的系统上编辑crontab,以便将dcudater脚本安排为每2分钟运行一次。这允许系统在发生故障时为您提供早期警告,甚至会在dashd守护进程挂起或崩溃将其重新启动。这是一个有效的方法,以确保您不会从支付队列中掉线。键入以下命令:

crontab -e

如有必要,请选择编辑器,并在sentinel行后面添加以下行到crontab中,将lWhite替换为您在系统上的用户名:

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

编辑crontab以自动运行DashCentral更新程序

Ctrl + X 退出,确认您想要使用 Y 保存,然后按下 Enter 键。现在,dcupdater脚本将每两分钟运行一次,并在必要时重新启动dashd,在发生错误时给您发送电子邮件。

主节点监测工具

几个由社区成员操作的站点可用于监测与主节点网络有关的关键信息和统计数据。

区块浏览器

由于达世币是一个公有区块链,所以可以使用区块浏览器查看任何达世币钱包地址的余额,以及检查在任何给定块中输入的交易。每个唯一的交易也可以通过txid进行搜索。可以使用多种不同区块浏览器查看达世币网络。

达世币主节点工具

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

由社区成员Bertrand256编写和维护的Dash Masterode工具(DMT)允许您从所有主要硬件钱包,如Trezor、Ledger和KeepKey,激活主节点。它还有在不影响保证金的情况下对提案进行投票和提取主节点区块奖励。

DASH Ninja

https://www.dashninja.pl

由论坛成员和Dash Core开发人员elbereth运营的DASH Ninja提供了关于在主节点网络中采用不同版本达世币的关键统计数据。它还提供了多个如监测达世币管理、主节点奖励时间和主节点地理分布的功能,以及提供了一个简单的区块链浏览器。

DashCentral

https://www.dashcentral.org

由论坛成员Rango运营的DashCentral,提供了一种高级服务,通过先进的网络界面监测主节点并就预算提案进行投票。也可下载 Android app应用 。

Masternode.me

https://stats.masternode.me

由论坛成员和Dash Core开发人员moocowmoo运营的Masternode.me,提供了关于价格、生成速率、区块链信息和一些主节点信息的顺序报告。

达世币主节点信息

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

由论坛成员和Dash Core 开发人员 Corning运营的网站,提供了达世币主节点网络的许多关键统计信息的可视化表示,包括总主节点数关于时间、价格信息和网络分布的图表。