开发者

Dash Core发布了一项广泛性的 开发者指南 ,旨在帮助新的开发者学习使用达世币代码库,同时也供经验丰富的开发人员参考。利用本指南可以快速有效地将外部应用程序整合入达世币生态系统。任何人都可以通过在GitHub上提交问题或拉取请求,为该指南提供建议。文档获取地址: https://dash-docs.github.io/en/

Dash Core团队还负责维护 达世币路线图,其中列有未来达世币版本交付时间表,以及关于开发团队如何攻克每一项挑战的特定技术细节。 达世币改善提案 是达世币路线图的补充,包含有关于拟议的达世币协议变更的详细技术说明。

下文所述内容为在达世币中执行共同开发任务的实际步骤。

叉勺技术

多阶段分叉,俗称 “spork”,是一种达世币独有的机制,通过网络层变量将新功能安全地部署到网络中,避免升级过程中出现意外的网络分叉风险。也可用于出现安全漏洞时,禁用某些功能——参考 此处 sporks简介。该文档描述了目前存在于网络上的每一个spork的含义,以及状态检查方法。

Spork 函数

使用整数值设置Sporks。许多的sporks都可设置特定的新纪元时间(自1970年1月1日起走过的秒数),用作活动时间。启用的sporks设置为0(直至激活前的秒数)。该函数常用于设置未来的spork启用日期,在发生变更之前,一直保持有效。以下为目前网络上存在的sporks及其服务功能:

SPORK_2_即时发送_已启用
管理达世币客户端使用即时发送功能的能力。
SPORK_3_即时发送_区块_过滤
如果已启用,主节点将拒绝那些含有与已锁定但尚未被证实的即时发送相冲突的区块。
SPORK_5_即时发送_最大_值
强制执行即时发送交易中所包含的达世币最大值。
SPORK_6_新_签名
启用新的签名格式,服务于达世币 12.3所引入的特定于达世币的网络消息。更多信息,请参阅 此处此处
SPORK_8_MASTERNODE_支付_执行
如果已启用,挖矿机必须将区块奖励的50%支付给当前正在等待被选择的主节点,否则,该区块变为无效。
SPORK_9_超级块_已启用
如果已启用,则验证并发布超级块,以支付提案获胜者。
SPORK_10_MASTERNODE_支付_已更新_节点
无论运行旧协议版本的主节点是否符合支付条件,都进行控制。使用奖励作为激励,促使主节点进行更新。
SPORK_12_重新考虑_区块
强制性地为指定数量的区块重建索引,从偶然网络分叉中恢复过来。
SPORK_13_旧式_超级块_标志
已弃用。自区块614820之后再无网络功能。
SPORK_14_要求_哨兵_标志
如果状态为WATCHDOG_EXPIRED,即哨兵未正常运行,则进行切换,无论主节点是否符合奖励条件。
SPORK_15_确定性的_主节点_已启用
进行控制,无论是否需要 确定性主节点 。激活后,旧式主节点列表逻辑不再运行,未更新的主节点将变为不符合奖励条件。
SPORK_16_即时发送_自动锁
就输入数少于指定数目的交易,启用自动交易锁定,同时删除旧式即时发送费。除发送节点外,允许任一节点请求交易锁定。
SPORK_17_QUORUM_DKG_ENABLED
激活 DKG process to create LLMQ quorums。激活 DKG 和基于 DKG 的 PoSe 的 Spork 将在 80%的主节点完成v0.14升级后被打开。
SPORK_19_CHAINLOCKS_ENABLED
激活 ChainLocks, 一种杜绝区块链重构事件带来的支付风险的机制。 ChainLocks 被定义于 DIP0008 ChainLocks
SPORK_20_INSTANTSEND_LLMQ_BASED
当激活时,传统即时支付会被基于 LLMQ 的即时支付替代,定义于`DIP0010 LLMQ-based InstantSend <https://github.com/dashpay/dips/blob/master/dip-0010.md>`__。

查看spork状态

调试窗口(或主节点上的 dash-cli )发出的 spork showspork active 命令,允许您与sporks进行交互。您可以通过选择 工具 > 调试控制台 ,打开调试窗口。

../_images/dashcore-sporks.png

Dash Core调试控制台输出spork show和spork active

版本历史

有关达世币的完整发行说明和版本历史请参阅: