Amaru 修复了 Cardano 节点 Beta 中的同步故障

这个基于 Rust 的客户端现在可以处理两种可能中断中继节点的故障。运营者获得了一个更稳定的测试版本,而出块功能仍在开发中。

By SongMarketCap

Cardano News - Amaru 修复了 Cardano 节点 Beta 中的同步故障

Amaru 于 9 月 25 日发布了一个测试版,修复了在纪元边界的同步故障以及涉及复杂智能合约代码的崩溃。

在 PRAGMA 下开发的 Amaru 是 Cardano 节点的一个独立实现。此次更新强化了运营者今天即可测试的中继软件。

测试版修复两个节点故障

版本 v10.11.20260925 修复了一个情形:已过期的治理提案遗留了相关记录。那些记录可能会在下一个纪元边界阻止节点进行同步。

该版本还防止深度嵌套的 UPLC 程序和常量在处理过程中导致栈溢出。UPLC 是 Cardano 智能合约执行系统的一部分,因此该修复涉及节点如何处理这类代码。

现在,运营者在遇到无效配置、不兼容的存储版本以及账本与链数据不一致时,将收到更清晰的错误信息。

嵌入 Amaru 的应用还可以检测节点何时已关闭,并检查其组件中的故障。以上更改共同使得诊断卡住或崩溃的中继更加容易。

Amaru 为 Cardano 基础设施带来了什么

Amaru 是一个用 Rust 编写的开源节点客户端。运营者和开发者可以运行它来跟随并中继 Cardano 数据,并通过日志、指标和追踪来检查其行为。它在现有的 Haskell 节点旁提供了一套独立的代码库。

即便在拥有众多独立运营的质押池的网络中,这一点也很重要。如果大多数质押池使用同一实现,该软件中的一个缺陷可能会同时影响许多质押池。随着第二个客户端变得可靠并被采用,它可以降低这种共同风险。

两种实现都必须就 Cardano 的规则达成一致,从验证 ADA 转账到计算 ADA 质押奖励。Amaru 通过针对 Haskell 节点进行一致性测试、确定性模拟和基于属性的测试来检验这种一致性。只有当它能够一致地处理相同数据时,独立代码对网络才有用。

当前测试版要求至少 2 GiB 内存,并支持 x86_64 和 aarch64 系统。这些是既有的项目要求,而非 9 月引入的硬件要求降低。Amaru 在准备快照时也会使用 Mithril,帮助运营者在不从链的起点处理全部数据的情况下启动节点。

中继测试先于出块

在 9 月的 Cardano Ambassador call 上,Amaru 被描述为一个中继测试版。一个能够出块的 Alpha 被作为 10 月或第四季度的目标提出,相关的 GitHub 里程碑仍然开放。

该团队计划在 10 月 6 日于 Singapore 举办的 Cardano Node Diversity Celebration Day 上讨论其进展,并提供线上直播。活动还将向运营者介绍一个参与计划。在 Ambassador call 上概述的方法包括注册一个质押池,运行 Amaru 并提供运行证据,以及报告漏洞或贡献功能。激励细节尚未公布。

9 月的发布为这些运营者提供了一个更清晰的测试,以检验 Amaru 当前的角色:一个独立的 Rust 中继能否在纪元转换过程中保持同步、处理复杂的 UPLC 输入,并清晰地报告故障。出块仍是一个独立且未完成的里程碑。