查看原文
其他

皇博日记#018| 狗狗币核心钱包、狗狗币内核软件 (Dogecoin Core) 介绍

皇博日记 2023-06-27


日行一善

DO ONLY GOOD EVERYDAY

皇博日记#015 | 狗狗币十年史(2013-2022)
皇博日记#016 |狗狗币的供应量和通货膨胀率
皇博日记#017 | 什么是节点?怎么运营狗狗币节点?

一、狗狗币内核软件 (Dogecoin Core) 

1、Dogecoin Core,翻译成“狗狗币核心钱包”或者“狗狗币内核软件 ”,是狗狗币官方钱包。

2、狗狗币内核软件 (Dogecoin Core)是许多所有者用来购买、出售和管理其 Dogecoin 库存的官方钱包。

3、狗狗币内核软件是一个社区驱动的开源软件。其开发过程是开放的并公开可见的。任何人都可以查看,讨论和使用该软件。

4、通过狗狗币内核软件 (Dogecoin Core) ,任何人都可以在狗狗币区块链网络中建立一个节点。节点采用Scrypt哈希算法来实现工作量证明(Proof of Work)。狗狗币内核是从比特币内核和其它加密货币演化而来。

5、狗狗币网络是一个点对点支付网络,由数千台称为节点的计算机组成。这些节点中的每一个都在运行名为 Dogecoin Core 的专用软件(“狗狗币内核软件”)。

二、狗狗币网络默认交易费

1、以截至今天最后更新为 Dogecoin Core1.14.6做说明。

2、Dogecoin 链具有相对较低的区块间隔,1 兆字节的区块空间,旨在为人们提供一种廉价的交易方式。因此,对整个狗狗币链的最大威胁是垃圾邮件,2014 年引入了交易费和粉尘抑制措施,以打击链上垃圾邮件。

3、Dogecoin Core 在软件中实施了一些默认值,以反映开发人员对费用和粉尘限制的建议,在发布时代表开发人员对这些限制应如何参数化的最佳估计。在 Dogecoin Core 钱包中实施的推荐默认值是:

  • 每千字节 0.01 DOGE交易费

  • 0.01 DOGE粉尘限度(丢弃阈值)

  • 0.001 DOGE替换费用增量

钱包拒绝输出低于粉尘限制的交易,如果低于此限制则丢弃费用找零。

注意:过去,狗狗币在费用机制中强制执行舍入功能。从 1.14.5 版开始,情况不再如此,费用是根据交易的确切大小计算的。例如,192 字节的交易只需要支付0.01 / 1000 * 192 = 0.00192DOGE 费用。

4、矿工默认包含策略

矿工在区块中包含交易的默认值已准确设置为0.01 DOGE/kB 的推荐费用。粉尘限制由矿工的内存池政策定义,见下文。

5、中继和内存池策略

默认情况下,中继和内存池接受策略低于建议,以允许在未来(或用户偏好)更改建议,而无需提前采用软件版本。这大大简化了未来的政策建议。从历史上看,大多数中继节点不会更改这些默认设置,这些默认设置通常代表绝对最小值

6、手续费

中继的默认最低交易费用设置为0.001 DOGE/kB,恰好是推荐费用的十分之一。从垃圾邮件管理的角度来看,这为矿工和中继运营商提供了 10 倍的下行空间。

7、粉尘限制

mempool 逻辑实现了 2 个粉尘限制,一个硬粉尘限制,交易被认为是不标准的并被拒绝,一个软粉尘限制,要求将限制本身添加到交易费用中,使输出在经济上不可行。
  • 硬尘限制设置为0.001 DOGE - 低于此值的输出无效并被拒绝。
  • soft dust 限制设置为0.01 DOGE - 发送输出低于该值的交易,需要为每个这样的输出添加 0.01 DOGE,否则将被认为费用太低而被拒绝。

8、按费用替换和内存池限制增量

一旦达到其本地定义的最大大小,用于按费用替换和限制内存池的增量默认设置为中继费用的十分之一,即 0.0001 DOGE。

三、下载官网(一切以官网为主,尽量不通过第三方渠道下载)


https://github.com/dogecoin/dogecoin/blob/master/README_zh_CN.md
或者
dogecoin.com

四、狗狗币内核软件的安装、入门和使用

开始使用狗狗币内核软件,请参考安装指南和入门教程。
狗狗币内核提供基于自文档化的JSON-RPC API,可用dogecoin-cli help浏览。同时可用'dogecoin-cli help `浏览每条命令的详细信息。另外,可参考游览器版的比特币内核文档( 它部署了类似的协议)。
(一)安装指南:
https://github.com/dogecoin/dogecoin/blob/master/INSTALL.md
(二)入门教程:
https://github.com/dogecoin/dogecoin/blob/master/doc/getting-started.md
(三)比特币内核文档
https://developer.bitcoin.org/reference/rpc/

五、端口

狗狗币内核的点对点通信默的默认端口为22556,用于与主网络(mainnet)区块链同步,并接受新交易和新区块的信息。此外,还可打开一个默认端口号为22555的JSONRPC端口供主网络节点使用。强烈建议不要将RPC端口暴露给公共网络。

功能 Function:P2P

主网络 mainnet:22556

测试网络 testnet:44556

回归测试 regtest:18444

六、进行中的开发 - 月球计划

主要开发资料:
1、Github Projects用于跟踪即将发布的计划和正在进行的工作。
https://github.com/dogecoin/dogecoin/projects?query=is%3Aopen
2、Github Discussion用于讨论与狗狗币内核软件开发、底层协议和狗狗币资产相关的计划内和计划外功能。
https://github.com/dogecoin/dogecoin/discussions
3、Dogecoindev subreddit
https://www.reddit.com/r/dogecoindev/

七、版本说明

版本号码遵循以下语法:major.minor.patch

八、代码库分支(branch)

本代码库有3个branch:
  • master(主代码库): 稳定。包含最新版本的release,以major.minor形式呈现。
  • maintenance(维护代码库): 稳定。包含正在维护中的上一个release的最新版本。格式: <version>-maint
  • development(正在开发代码库): 不稳定。包含下一个release的最新代码。格式: <version>-dev
Master 和 maintenance 互不干扰。最新release永远包含一个development分支。新的 pull request 应该发布于此。Maintenance 分支只能用于调试程序。请将新开发的功能发布在 development 分支的最高版本。

九、社区 

您能通过不同的社交媒体加入狗狗币社区。在那里您可以看到最近的新闻,与别人见面和讨论,找到最新的表情包,进一步了解狗狗币,帮忙别人或者请求帮忙。
以下是一些社区的访问链接:
(一)Dogecoin subreddit
https://www.reddit.com/r/dogecoin/?rdt=63157
(二)Dogeducation subreddit
https://www.reddit.com/r/dogeducation/
(三)Discord
https://discord.com/invite/dogecoin
(四)Dogecoin Twitter
https://twitter.com/dogecoin
十、最近两次更新Dogecoin Core 1.14.5和Dogecoin Core 1.14.6情况

(一)Dogecoin Core 1.14.5 更新解决交易费用降低问题

Dogecoin Core 1.14.5 更新的说明已于 2021 年 11 月 8 日在Github 帖子中共享。在这里,我们可以了解用户可以期待看到的所有新更新。以下是 Dogecoin Core 更新 1.14.5 的完整注释列表:

1、安全更新

  • 狗狗币 QT 中的远程代码执行 (CVE-2021-3401)
  • Unix 平台上的敏感信息泄露 (CVE-2019-15947)

2、费用减免

  • 建议的最低交易费用为 0.01 DOGE/kb,并且
  • 推荐的粉尘限制为 1 DOGE,并且
  • 推荐的 RBF 增量为 0.001 DOGE。

3、RPC API 更改

  • 添加 softdustlimit 和 harddustlimit 字段以获取网络信息
  • 添加了 createauxblock 和 submitauxblock 方法
  • 添加了 -rpcnamecoinapi,允许矿工使用与 Namecoin 兼容的 AuxPoW API,用于 getauxblock 和 createauxblock 方法。

4、其他变化

  • 将 Berkely DB 更新为 5.3,将 OpenSSL 更新为 1.0.2u。
  • QT概览页面显示的版本已更改为显示完整版本
  • 更新 HD 钱包派生路径以符合 SLIP44
  • 更新了 FreeBSD 版本。
  • 添加 xkbcommon 0.8.4 作为单独的依赖项以修复键盘兼容性问题
  • 添加了入门指南
最值得注意的变化是交易费用的降低。在过去的更新中更改后,针对网络的所有用户提出了新的最低费用建议。
(二)Dogecoin Core 1.14.6(2022年6月21日)

这是一个新的次要版本发布,包括重要的安全更新和对网络效率的更改。强烈建议所有 Dogecoin Core 用户——矿工、服务、中继运营商和钱包用户——升级。

1、兼容性

Dogecoin Core 在 Ubuntu Server LTS、基于 Intel 的 macOS 和 Windows 10 上进行了广泛测试。
Dogecoin Core 应该也可以在大多数其他类 Unix 系统上运行,但并不经常在这些系统上进行测试。

2、重要安全更新

此版本包含加强节点和网络安全性的修复程序。这些修复对每个节点运营商和钱包用户都很重要。
3、警报系统删除
P2P 警报系统已被删除,警报消息不再被处理。这是为下一个主要版本计划的,但由于在实施中发现了错误,因此已提前完全弃用此功能,因为彻底检查未使用且已标记为在不久的将来删除的系统没有意义.
4、加固交易下载机制
通过对所有交易公告实施严格的控制、限制和超时,并在决定请求哪个节点时优先考虑传出连接,显着减少节点在公告阶段(意外或其他情况)隐瞒交易信息的影响,在交易被挖掘之前交易信息来自。
这提高了整个网络的弹性,并提高了整个交易中继的可靠性。
5、其他与安全相关的修复
加强协议实施以拒绝错误或格式错误的消息。这有助于保护网络免受损坏的自定义客户端的影响。
在高网络流量或连接到极慢的对等点时限制并严格管理内存使用。这可以保护低端硬件上的节点在网络活动增加时不会耗尽内存。
6、费用推荐
此版本将狗狗币网络上所有参与者的建议粉尘限制( dust limit)从 1 DOGE 更改为 0.01 DOGE。完整的建议可以在文档中找到 。
此更改已作为默认值在钱包中实现 -discardthreshold,导致以下默认逻辑:
如果可能,钱包将尝试不创建任何小于 0.03 DOGE 的输出作为找零。
如果签名后零钱输出中剩余超过 0.01 DOGE,钱包将保持输出不变。
如果零钱输出低于 0.01 DOGE,钱包将丢弃零钱并将其作为费用交给矿工。
默认情况下,任何低于 0.01 DOGE 的输出都不会被视为有效。
7、配置钱包备份目录
添加一个新的命令行参数-backupdir,允许操作员指定存储钱包备份和转储的位置。未设置时,节点将在数据目录下添加一个名为“backups”的目录。
这是一个突破性的变化。
dumpwallet和RPC 方法的行为backupwallet已经改变,因为它们将忽略除文件名之外的任何给定路径,并将始终将文件名存储在定义的目录-backupdir或上述默认位置中。
这些方法还将拒绝覆盖任何现有文件,并会为此产生错误消息。
9、最大addnode记录数
为了防止用户使用 RPC 调用意外提交大量地址记录addnode,“addnode”记录的最大数量被限制为 800,这是软件连接到的手动添加节点的最大数量 (8) 的 100 倍。一旦达到此最大值,软件将拒绝添加更多地址并返回错误。
用户可以通过运行以下命令从软件中删除现有的 addnode 记录:dogecoin-cli addnode <address> remove
10、改进卡住的事务检测
添加了一种新的 RPC 方法,以帮助钱包运营商识别是否有任何交易被卡住(尚未开采且不在内存池中)并启用解决方案。这有助于在节点本地费用或灰尘政策发生变化的情况下,防止节点发送丢失的旧交易。该方法可以通过以下方式调用:dogecoin-cli liststucktransactions
11、向 UI 添加修剪配置
向 UI 添加修剪配置,以便更轻松地为图形(钱包)安装的用户节省磁盘空间。以前,这只能通过手动编辑配置文件来完成。
新设置允许用户通过删除区块链的完全增量验证不再需要的块,将用于保持节点完整块的总磁盘空间减少到 3GB。
12、注意事项
请注意,在运行修剪节点时,以下内容适用:
该节点将不再中继块和交易。
如果节点在硬件故障后需要恢复,则可能需要重新下载整个链。
需要整个区块链的功能,例如重新扫描钱包交易链或导入旧密钥,将无法运行。
恢复此设置将使节点重新下载整个链。
13、无需重启即可管理连接数
setmaxconnections引入了一种新的 RPC 方法,使钱包和节点运营商能够更改其节点允许的最大连接数,而无需重新启动(并因此失去所有连接),从而可以更细粒度地控制节点的网络容量。

该节点将允许将连接数减少到最少 28 个,并将自动适应主机操作系统允许的最大值。
要更改最大连接数,请运行:
dogecoin-cli setmaxconnections <desired_amount>
14、改进 UI 中的流量图
显着改进了 UI 流量监视器中的图表,每次重新采样图表比例时都不会丢弃数据,而是跟踪我们在后台看到的流量,然后按需渲染它。
15、添加重新扫描 RPC 方法
添加了一种新的 RPC 方法,rescan允许节点运营商从某个高度重新扫描链上的钱包交易。这有助于加快已知在特定日期或区块高度后生成的密钥的重新扫描过程,因为在这种情况下不一定需要扫描较旧的区块。这在添加大量 watchonly 地址时也可能有用。
注意:重新扫描区块链需要很多时间。
要使用重新扫描功能,请使用:
dogecoin-cli rescan <start_block>
它将在进程完成之前和之后通知状态
{
"before": {
"balance": 69.00000000,
"txcount": 1
},
"after": {
"balance": 420.00000000,
"txcount": 3
},
"blocks_scanned": 31337,
"time_elapsed": 23
}

16、新的 REST 端点:blockhashbyheight
一个新的端点已添加到 REST 服务器,以在特定高度找到当前最知名的区块,而无需进行 RPC 调用。这对于需要跟踪或查询块的服务实现很有用。
可以使用以下方式查询新端点:
GET /rest/blockhashbyheight/<height>
17、翻译更新
已为以下语言提供重要更新:保加利亚语、荷兰语、法语、意大利语、韩语、波斯语、葡萄牙语、泰米尔语能够更好地努力让不会说英语的人更容易使用狗狗币。
18、RPC API 变更
RPC命令verifychain不再接受负值
添加liststucktransactions
添加setmaxconnections
添加rescan
addnode-32当提供的地址太长时将返回错误
getpeerinfo为每个对等方提供 2 个新字段,addr_processed并且 addr_rate_limited,用于跟踪addr消息处理
dumpwallet现在backupwallet将它们的输出写入可配置的备份目录并且不覆盖现有文件
19、依赖更新
将默认依赖项 zlib 更新为1.2.12.
将默认依赖项 libevent 更新为2.1.12-stable.
更新 LevelDB 子树以使用与 Bitcoin 相同的版本22.0,来自 bitcoin-core 维护的分支。
20、小改动
添加了 ARMv8 和 ARMv82 加密扩展作为实验性功能。这显着提高了 64 位 ARM 硬件验证块和事务的速度。
修复了图形钱包以在高 DPI 分辨率下正确显示。
通过防止在设置锁定时间字段(自动)时泄露有关我们钱包的信息来改善隐私。
在基准代码中添加了 scrypt。
更改网络选项卡中下载数据的粒度,不再显示千兆字节和太字节,因为这会掩盖太多细节。相反,最大的单位现在是兆字节。
修复了 getutxos REST 端点中的错误,以便在不包括内存池时也显示数据。
改进了 UI 中显示的提示,使其更简洁并提供更好的建议。
从图形钱包中删除了试图根据点对点流量指示卡住交易的信息,但这从 1.14.2 开始不起作用,并且可能会产生误导(显示误报和误报。)
改进和更新了解释 Dogecoin Core 实现的协议功能的bip 列表文档。
大大改进了gitian-build脚本以简化为每个人进行确定性构建以及该过程的文档
参考资料:

https://github.com/dogecoin/dogecoin/blob/master/doc/fee-recommendation.md

https://github.com/dogecoin/dogecoin/releases

https://www.shacknews.com/article/127574/dogecoin-doge-core-1145-update-tackles-transaction-fee-reduction

文案|皇博   编辑|皇博   政审| Yuhang   法审| Wong  

*本文仅供学术研究参考,无意也不应被视为法律或投资建议。

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存