Forest是ChainSafe对星际文件系统协议的Rust实现。Rust为构建以内存安全和性能为优先的区块链提供了基础。SigmaPrime正对Forest的Rust代码库进行审计,离完全生产化的Forest节点越来越近了。
这个月,Forest见证了一些巨大的里程碑!
从审计开始
自4月底以来,SigmaPrime一直在对Forest的代码库进行安全审核。在审核开始之前,团队正在更新审核团队的文件,在审核完成后,这些文件将准备好供公众使用。
一旦最终的审核报告准备就绪,团队将分享该报告。这将涵盖SigmaPrime发现的任何问题以及如何解决这些问题。
在SigmaPrime审核之前,团队正在为Forest做好生产准备。这涉及到改善同步和消息池。团队完全重构了消息池,并实施了最优消息选择,根据客户的票据质量提供消息选择。
在同步方面,团队通过重构和简化流程和逻辑,实施RustFutures驱动的状态机,提高了ChainSyncer的稳健性和性能。事情看起来很稳定,因为团队已经能够运行一个有几周正常运行时间的节点。此外,作为改进同步过程的一部分,该团队修复了一个内存泄漏。有了这个,Forest已经能够在内存方面实现相对稳定。事实上,Forest已经有一个节点运行了几周,只用了7GB的内存!
在审计之前,Forest团队还在为生产就绪的RPC做最后的工作,包括更新RPC的错误处理和JWT,并与LotusRPC进行匹配。该团队还为加密的Keystore添加了一个RPC方法。
在添加RPC方法之前,密钥在被保存之前没有被加密。现在,用户可以利用安全的钥匙库,在启动时使用密码来解密他们的私人钥匙。加密的钥匙库增加了用户的安全性,同时确保了使用的方便性和可访问性。
通过改进同步、重构消息池和实现RPC接口,一个可以投入生产的Forest已经准备好接受审计了!
状态迁移
状态迁移是星际文件系统网络上的一个过程,在这个过程中,状态树的内容从旧形式转换为新形式。
Forest团队开始实施状态迁移以从创世纪完全同步,而不是依赖最近的快照。随着状态迁移的实施,Forest将拥有完整的归档节点能力来查询历史状态信息!
目前,Forest节点无法处理网络升级纪元的tipset,只能处理该纪元之前和之后的tipset。需要人工干预,这涉及到导入迁移纪元后的快照并从那里继续。
改进CLI和用户体验
该团队还花时间改进ForestCLI,因此用户将有办法通过Forest与星际文件系统区块链进行无缝互动。目标是使Forest更容易被终端用户使用,包括State、MessagePool和P2PCLI的命令。该团队还在努力让ForestCLI中目前实现的所有命令与RPC后端一起工作,最终为网络RPC增加RPC命令。
通过增加更多的命令,并将它们与Lotus的对应命令相匹配,Forest将变得更容易被用户使用,并增加其他星际文件系统实现之间的互操作性。
性能分析
在过去的几个月里,该团队一直在寻找在Forest中添加仪器,以测量和分析性能指标。目前,团队没有一个可靠的方法来了解Forest节点的性能和瓶颈在哪里。
该团队开始在Forest中收集指标,包括:Tipset处理时间、Gossipsub消息统计、通过Gossipsub收到的验证失败的Tipset计数器、磁盘上的rocksDB大小、TipsetRangeSyncer未来错误计数和libp2p指标。
接下来,该团队将通过使用Grafana的仪表盘来获取这些指标。一旦所有的指标都能整齐地显示出来,团队将分析Forest中需要改进的地方,进一步加强星际文件系统Rust的实施!
下一步是什么?
展望未来,团队将继续改进CLI,并将完成实施其余的状态迁移。随着他们离Forest的第一个版本越来越近,团队也在推动更多的用户文档。我们的主要目标是让用户能够轻松地运行Forest!同样令人振奋的是,该团队已接近完成存储和检索市场的整合!
郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。