本文是Dash Core v18.0.1版本的发布说明,该版本为强制更新,引入了quorum轮换、确定性InstantSend、治理改进以及增强的硬分叉支持等新功能。同时,该版本还包括网络改进、钱包更新、RPC更改以及来自Bitcoin Core的backports,并移除了一些旧功能。
此版本现已发布:
<https://www.dash.org/downloads/#wallets>
这是一个新的主要版本,带来了新功能、各种错误修复和其他改进。
所有节点都必须升级到此版本。
请使用 github 上的 issue 跟踪器报告错误:
<https://github.com/dashpay/dash/issues>
如果你运行的是早期版本,请将其关闭。 等待其完全关闭(对于旧版本,这可能需要几分钟),然后在 Windows 上运行安装程序,或者仅复制 /Applications/Dash-Qt(在 Mac 上)或 dashd/dash-qt(在 Linux 上)。 如果你在 DIP0003 激活后升级并且你使用的是 < 0.13 版本,你将必须重新索引(使用 -reindex-chainstate 或 -reindex 启动),以确保你的钱包已同步所有新数据。 从 0.13 版本升级不需要任何额外操作。
从 18.0.1 之前的版本升级时,Dash Core 的首次启动将运行一个迁移过程,该过程可能需要几分钟到三十分钟才能完成。 迁移之后,只能通过重新索引(或重新索引链状态)来降级到旧版本。
由于索引数据库文件夹中的更改,不支持降级到低于 v18.0.1 的版本。 如果你需要使用旧版本,则必须重新索引或重新同步整个链。
从 0.16 版本开始,主节点会验证其他主节点的协议版本。 这会导致对过时主节点的 PoSe 惩罚/禁止,因此即使在引入的硬分叉更改激活之前降级也不建议这样做。
InstantSend 仲裁现在将使用一种新的仲裁类型和一种新的算法来建立仲裁。 即将发布的 DIP-0024 将提供全面的详细信息。
仲裁轮换通过 BIP9 样式的硬分叉激活,该硬分叉将于 2022 年 8 月 15 日开始使用第 7 位进行信令。 新的仲裁将在激活后的 1152-1440 区块范围内开始形成。 任何在那个时候没有升级的节点都会与网络的其余部分产生分歧。
已添加在未来任何时候确定性地验证 InstantSend 锁,以支持 Dash 平台。 此更新向 InstantSend 消息引入了版本控制,并向其中添加了仲裁信息。 虽然之前的设计足以用于核心链支付,但平台链将受益于这种增强的验证能力。 有关确定性 InstantSend 的详细信息,请参见 DIP-0022。
确定性 InstantSend 将通过 DIP0024 硬分叉激活。
Dash 的 DAO 治理系统进行了一些改进。 根据主节点所有者的投票,治理提案费用已从 5 Dash 减少到 1 Dash。 为了提高安全性和灵活性,现在支持支付给 pay-to-script-hash (P2SH) 地址的提案付款。
这些更改将通过 DIP0024 硬分叉激活。
现在可以在 GUI 治理选项卡中查看治理提案(必须先在“首选项”中启用)。
主节点硬分叉信号特殊交易已添加为启用改进的硬分叉机制的第一步。 这种增强功能使未来的硬分叉能够快速安全地激活,而不会出现如果矿工和主节点以显着不同的速度更新而导致的任何“竞争条件”。 实际上,除了矿工信号之外,链上还会有一个主节点信号,以确保平稳过渡。 有关增强型硬分叉系统的详细信息,请参见 DIP-0023。
我们实施并反向移植了几个改进提案的实施方案。 你可以在以下文档中阅读有关已实施更改的更多信息:
请确保将你的币转移到具有常规密码的钱包。
我们继续反向移植钱包功能更新。 最值得注意的更改是:
salvagewallet 选项,GUI 的“修复”选项卡中也不再有。 请查看 dash-wallet 工具中的 salvage 命令。交易索引已移至 indexes/ 文件夹中。 旧数据的迁移在首次运行时完成,不需要重新索引。 请注意,旧路径中的数据将被删除,这意味着此更改不向后兼容,如果你决定降级到 v18.0.1 之前的版本,则必须重新索引整个区块链。
这里的大多数更改都是通过 Bitcoin 反向移植引入的,主要与 DashCore v0.17 中钱包帐户的弃用和 PSBT 格式的引入有关。
新的 RPC 有:
combinepsbtconverttopsbtcreatepsbtdecodepsbtderiveaddressesfinalizepsbtgetblockfiltergetdescriptorinfogetnodeaddressesgetrpcinfojoinpsbtslistwalletdirquorum rotationinfoscantxoutsetsubmitheadertestmempoolacceptutxoupdatepsbtwalletcreatefundedpsbtwalletprocesspsbt已删除的 RPC 有:
estimatefeegetinfogetreceivedbyaccountkeepasslistaccountslistreceivedbyaccountmoveresendwallettransactionssendfromsignrawtransaction通过比特币反向移植引入的现有 RPC 中的更改:
dash-cli -getinfo 中的 testnet 字段已重命名为 chain,现在返回 BIP70 中定义的当前网络名称(main、test、regtest)。getchaintxstats 中添加了 window_final_block_heightfeerate_percentiles 对象,而不是 getblockstats 中的 medianfeerategetmempoolancestors、getmempooldescendants、getmempoolentry 和 getrawmempool RPC 中,为了与返回值和其他 RPC(如 getrawtransaction)保持一致,已添加了 vsize,现在不建议使用 size。 仅当使用 -deprecatedrpc=size 启动 dashd 时,才会返回 size。loaded,指示内存池是否已完全加载getnetworkinfo 中添加了 localservicesnames,以人类可读的形式(除了已经存在的 localservices 十六进制字符串之外)列出节点向网络提供的服务getzmqnotifications 中添加了 hwmcreatewallet 现在可以创建空白、加密或仅观察钱包。getwalletinfo 中添加了 private_keys_enabledgetaddressinfo 中添加了 solvable、desc、ischange 和 hdmasterfingerprintlistunspent 中添加了 desc现有 RPC 中特定于 Dash 的更改:
quorum getinfo 和 quorum memberof 中 添加了 quorumIndexfull、info 和 json 的 rpc masternodelist 中,将返回 MN 的 PoS 惩罚分数。 对于 json 参数,添加了字段 pospenaltyscore。请查看 help <command> 以获取有关特定 RPC 的更多详细信息。
这里的大多数更改都是通过 Bitcoin 反向移植引入的。
新的命令行选项:
asmapavoidpartialspendsblockfilterindexblocksonlyllmqinstantsenddip0024llmqtestinstantsendparamsmaxuploadtargetnatpmppeerblockfilterspowtargetspacingstdinwalletpassphrasezmqpubhashchainlockzmqpubrawchainlock可以为每个通知单独设置 PUB 套接字的出站消息高水位标 (SNDHWM) 的选项:
-zmqpubhashtxhwm=n-zmqpubhashblockhwm=n-zmqpubhashchainlockhwm=n-zmqpubhashtxlockhwm=n-zmqpubhashgovernancevotehwm=n-zmqpubhashgovernanceobjecthwm=n-zmqpubhashinstantsenddoublespendhwm=n-zmqpubhashrecoveredsighwm=n-zmqpubrawblockhwm=n-zmqpubrawtxhwm=n-zmqpubrawchainlockhwm=n-zmqpubrawchainlocksighwm=n-zmqpubrawtxlockhwm=n-zmqpubrawtxlocksighwm=n-zmqpubrawgovernancevotehwm=n-zmqpubrawgovernanceobjecthwm=n-zmqpubrawinstantsenddoublespendhwm=n-zmqpubrawrecoveredsighwm=n已删除的命令行选项:
keepasskeepassportkeepasskeykeepassidkeepassnamesalvagewallet现有命令行选项中的更改:
请查看 Qt 钱包中的“帮助 -> 命令行选项”或 dashd --help 以获取
更多信息。
此版本引入了来自 Bitcoin v0.18/v0.19/v0.20 的 1000 多个更新,以及来自 Bitcoin v0.21 和更新版本的众多更新。 这包括 GUI 中的多钱包支持、对部分签名交易 (PSBT) 的支持、Tor 版本 3 支持以及许多其他将使 Dash 用户受益的更新。 与 Dash 产品需求不符的比特币更改(例如 SegWit 和 RBF)已从我们的反向移植中排除。 有关比特币中包含的内容的其他详细信息,请参阅其发行说明 – v0.18、v0.19、v0.20。
在此版本中进行了大量重构、代码清理和其他小修复。
参见详细的变更集。
感谢所有为此版本做出直接贡献的人:
以及所有提交问题、审查拉取请求、帮助调试候选版本以及编写在此版本中实现的 DIP 的人员。 值得一提的是:
Dash 以前称为 Darkcoin。
Darkcoin 树 0.8.x 是 Litecoin 树 0.8 的一个分支,原始名称是 XCoin,它于 2014 年 1 月 18 日首次发布。
Darkcoin 树 0.9.x 是基于 0.8.x 树的主节点的开源实现,于 2014 年 3 月 13 日首次发布。
Darkcoin 树 0.10.x 曾经是 Darksend 的闭源实现,它于 2014 年 9 月 25 日以开源形式发布。
Dash Core 树 0.11.x 是 Bitcoin Core 树 0.9 的一个分支,Darkcoin 被重塑为 Dash。
Dash Core 树 0.12.0.x 是 Bitcoin Core 树 0.10 的一个分支。
Dash Core 树 0.12.1.x 是 Bitcoin Core 树 0.12 的一个分支。
这些版本被认为是过时的。 旧版本说明可以在这里找到:
- 原文链接: github.com/dashpay/dash/...
- 登链社区 AI 助手,为大家转译优秀英文文章,如有翻译不通的地方,还请包涵~
如果觉得我的文章对您有用,请随意打赏。你的支持将鼓励我继续创作!