CarrIOTA Hercules开发进度报告

“CarrIOTA Hercules是打了兴奋剂的IRI,更轻、更快、更智能。” — Roman Semko

这是应社区的请求而发布的关于Hercules开发详情的一次小更新。尽管我们的主要项目占用了大部分时间,但在过去几周中我们还是取得了相当大的进展。

我们正在研究四个方面的内容,并希望在发布预览版之前在这些方面做好准备(除了清理代码和编写文档之外,d’oh!)

核心

最重要的是,核心必须是稳定的。这包括tangle数据库管理,节点之间的通信,交易确认,tip选择,里程碑检测以及所有相关内容。

我们的大部分时间都是为了实现与IRI的功能对等,它基本上是完成了。我们目前的测试表明,Hercules的速度比IRI快大约10-25%,使用的驱动器空间减少了大约10%,并且在某些条件下可以减少很多内存。

除此之外,数据库结构也与IRI略有不同,它允许以前不可能的某些事情。例如,不必在快照之后重新附加地址。

既然提到了快照……

快照

这就是我们正在做的事情。Hercules可以成功导入IRI快照,在给定的时间内加载并保存自己的快照,同时检查它的完整性。

现在,我正在处理交易修整,这需要更多的时间,因为我们在从badger数据库批量删除项目时遇到了特殊的问题。不过,我相信这个问题会在合理的时间范围内得到解决。

下一步是添加自动快照(定时任务)、智能快照(基于可用内存),甚至是一个API来触发快照、列出和下载可用快照。

快照API可以公开,以便外部工具、服务和节点可以使用它来比较来自多个节点的快照(如果这些节点具有相同的时间戳),生成Tangle的统计信息,跟踪地址余额,加速节点同步和无数其他用例。这一点不应被低估。

API

与快照和核心相比,API本身很简单,可以在4-6天内完成。它将模仿IRI的大部分命令和行为,并添加一些额外的东西,比如快照API。

考虑到不同的数据库结构,API响应应该比IRI更快、占用更少的资源。这是纯粹的直觉,因为还没有办法测试它。

由于我们的焦点一直在核心和快照上,所以现在除了“获取节点信息”和邻居管理命令之外,还没有可用的API。这也是阻止我们发布Hercules预览版本的主要原因,因为没有强大的API,任何人都无法使用它。

CarrIOTA Hercules开发进度报告

支持低端设备

这是我们为Hercules所承诺的杀手级功能,我们正在进行大量的核心工作来优化内存的使用和性能。我希望当Hercules出现时,社区的go-lang大师们可以帮助我们进一步优化它。

我今天在PI3上启用了最新版本的Hercules。它可以很好地同步并且每秒处理高达100-120个交易。当我首次尝试运行Hercules时,它的最大值是每秒30-60个交易。

如果网络快速增长,在没有最新的快照的情况下,就没有其他方法完全同步一个子节点。这就是为什么快照是Hercules重要组成部分的原因,也是它在恶劣环境中使用的原因。

今天,我设法在单核512MB的Beaglebone Black上运行Hercules,每秒可执行15-30次交易。没有什么改变世界的东西,但是如果提供快照的话,它或许是能用的。

CarrIOTA Hercules在Beaglebone Black上害羞地跑着。

单核,512MB,我们可以走多远?其主要规格与Pi Zero的相同,然而,Pi Zero的内存更慢。真的很兴奋,看看我们是否也能在这个上得到一个像样的速度!

让我们看看我们是否可以在不久的将来在卡西欧手表上管理和运行Hercules。:)

预计推出时间

鉴于我们目前的工作量,无法提供准确的时间。如果一切顺利,它可能会在几周内准备好公开Alpha,但也不要把我的话太当真。

感谢您的阅读和支持!

捐赠作者IOTA:

AAJXXFJUEQHKPYIOUIUO9FWCMOAFBZAZPXIFRI9FLDQZJGHQENG9HNMODUZJCHR9RHHUSBHWJELGRDOWZRNWYLYCQW


原文链接:https://medium.com/deviota/carriota-hercules-flexing-the-muscles-5869bf12332b

胖子李

专栏作者:胖子李

个人简介:我共发表了 190 篇文章,总计被阅读了657,687 次,共获得了 1,884 个赞。

作者邮箱 作者主页 Ta的文章

发表评论

邮箱地址不会被公开。 必填项已用*标注