Dingo 通过三项 Cardano 一致性测试套件
Blink Labs 的基于 Go 的节点在涵盖数据解码、交易验证与 Plutus 脚本执行的共享测试中实现全部通过。
By SongMarketCap
Updated:
根据其 10 月 18 日的报告,Dingo 在 Node Diversity Conformance 平台上的三项功能套件共 10,536 个测试用例全部通过。此次结果紧随 Blink Labs 于 10 月 17 日发布的 v0.85.0 之后,该版本使这款独立的 Cardano 节点的报告与当前测试数据集保持一致。
Dingo 在三项功能套件中的结果
规模最大的套件涵盖 CBOR,这是一种 Cardano 用于编码交易与区块的二进制格式。Dingo 在全部 9,200 个用例中通过,能够正确处理有效输入,将其重新编码为预期结果,并拒绝无效数据。
账本验证包含另 277 个用例。每个用例提供定义好的初始状态、协议参数与账本时代。Dingo 接受被标记为有效的交易,并按预期的验证失败原因拒绝被标记为无效的交易。
全部 1,059 个 UPLC 测试向量也通过。UPLC 是 Plutus 智能合约编译后的语言。其一致性场景将执行结果与消耗的执行预算分开检查,后者会计入以 ADA 支付的交易费用。
由于四种场景权重相同,Dingo 的平台总体得分为 86.19%。第四种场景是使用真实脚本的性能基准测试,在已报告的 10,000 个用例中通过率为 44.77%。该数值衡量的是对基准测试性能准则的符合程度,而非与其他节点的相对速度。
独立 Cardano 节点的共享测试
Dingo 以 Go 开发,负责 Ouroboros 网络与共识、账本验证,以及为应用提供对区块链数据的访问。它作为独立开发的实现,与既有的 Haskell cardano-node 以及 Rust 编写的 Amaru 等客户端并行存在。
这些实现必须在网络规则上达成一致。无论由哪种客户端处理,ADA 转账或智能合约执行都必须得到一致的有效性判定。对交易接受与执行成本计算的差异会影响对区块是否有效的共识。
共享测试数据集使各团队能够在相同输入与预期结果下校验行为。各项目通过自身的持续集成系统运行测试并发布报告,Node Diversity Conformance 负责收集并展示这些结果。
这些场景包含重复检查所需的测试夹具与说明。因此,运营方与开发者可以复现实测结果,并使用相同的测试用例调查差异。
Dingo v0.85.0 扩展开发者 API
该版本还扩展了与 Blockfrost API 兼容的 Dingo 接口,在历史与治理查询之外新增了钱包与去中心化应用查询。应用可以使用熟悉的请求格式,由 Dingo 提供底层区块链数据。
其他改动涉及链选择、Leios 消息处理、数据存储与资源管理。
Blink Labs 仍表示,Dingo 尚未准备好在主网进行生产级出块。开发者可以在 Preview、Preprod、Musashi 以及本地开发网络上的 Dingo 实例上测试扩展后的 API 操作,包括对钱包活动、历史记录与治理数据的查询。