Cardano 浏览器节点实验在 TypeScript 和 Haskell 上取得进展
Gerolamo 已在 Cardano Preview 上产出第二个区块,同时一个独立的 Haskell 原型已在网页浏览器中跟随链并提交了一笔交易。两项实验将 Cardano 节点基础设施的不同部分更靠近用户设备。
By SongMarketCap
Cardano 开发者报告了两项独立节点实验的最新进展。Harmonic Labs 将 Gerolamo 的测试扩展到空区块之外,而 Seungheon Oh 通过 WebAssembly 演示了在浏览器中执行 Haskell 节点栈。两者仍处于实验阶段,且都未建立完全在浏览器内运行的生产级出块者。
Gerolamo Produces a Second Cardano Preview Block
Gerolamo 是用 TypeScript 编写并通过 Bun 运行时运行的替代 Cardano 节点实现。Harmonic Labs 在创始人 Michele Nuzzi 的带领下开发该项目,其源代码已公开。
归属于 Gerolamo 的首个区块于 9 月 12 日在 Cardano Preview 上被接受。该区块为空,用于初步测试该替代实现是否能够产出符合 Cardano 协议规则并被接受的区块。
第二个区块于 9 月 14 日跟进,包含三笔交易。根据团队公布的信息,其中包括一次智能合约执行和一条链上消息。测试因此从空区块推进到承载交易活动的区块。
Gerolamo 还在验证链上数据的同时,将 Preview 链从创世同步至当前链尖。其服务器实现支持 Cardano 节点到节点协议、可选的本地客户端通信、Mithril 引导以及一部分 Blockfrost 风格 API 功能。
现有文档未将完整的 Praos 领导者选举描述为项目已完成的组成部分。Harmonic Labs 尚未公布用于这两个 Preview 区块的锻造路径的完整技术说明。网络已接受这些区块,团队也将其归因于 Gerolamo,但公开证据并未表明出块者是在网页浏览器内运行的。
Cardano Gains Two Different Browser Node Approaches
除了 Gerolamo,Harmonic Labs 还在开发 Gerolamino,这是一种面向网页浏览器和 Chrome extension 的更轻量实现。Gerolamino 并非产出这些 Preview 区块的软件实例。
公开演示使浏览器能够通过 Ouroboros Handshake、ChainSync 和 BlockFetch 迷你协议与 Cardano 中继进行通信。它可以跟随区块头和区块、处理 CBOR 数据,并使用 IndexedDB 和 WebWorkers 进行本地存储与计算。
目前通过一个 WebSocket 到 TCP 的桥接,将浏览器连接到外部 Preprod 中继,因为网页应用无法直接向 Cardano 网络打开标准 TCP 连接。
规划中的开发包括支持 Mithril 以加快初始同步、本地 UTxO 索引以及类似于现有 Cardano 钱包标准的通信接口。该模型可使网页应用在用户设备上验证更多信息,而不必为每个响应都请求远程 API。
独立于 Harmonic Labs,开发者 Seungheon Oh 通过 GHC 的 WebAssembly 后端演示了在浏览器内运行的 Haskell Cardano 节点。演示内容包括跟随链尖、显示 ADA 余额以及从浏览器提交一笔交易。
Cardano Hard Fork Working Group 于 9 月 15 日将该演示记录为与节点多样性相关的进展。Oh 尚未发布源代码,且演示未包含出块。因此,该原型尚无法被独立审查或与生产版 Haskell cardano-node 软件进行详细比较。
Local Verification Could Change Cardano dApp Infrastructure
Cardano 钱包与去中心化应用经常使用远程服务来访问区块链数据、定位 UTxOs、检查余额并提交交易。这种基础设施简化了开发,但也带来了对 API 提供方、索引器及其持续可用性的依赖。
浏览器节点功能可将部分流程迁移到用户设备上。应用可以在本地跟随 Cardano 链、处理区块,并在准备或提交交易前验证其所使用的信息。本地访问还可减少发送至中心化 API 服务的地址与数据请求数量。
对开发者而言,该架构可支持在某个索引器或后端提供方不可用时仍能运行的 Cardano 应用。多条独立开发的访问路径在依据相同的 Cardano 协议规则验证数据时,能够增强应用的韧性。
该方法还可能使钱包与去中心化应用在更靠近用户的地方验证 UTxOs 和 ADA 余额,而不是将远程服务视为区块链状态的唯一来源。Gerolamo 提供了一个独立开发的 TypeScript 实现,而 Oh 的工作则探索了成熟的 Haskell 栈如何通过 WebAssembly 运行。
当前的原型并未消除对外部基础设施的需求。Gerolamino 仍使用 WebSocket 桥接和外部中继,而更广泛的本地同步必须考虑浏览器在存储、内存、带宽与索引方面的限制。Mithril 快照、网络对等体与交易提交路径也仍是架构的一部分。
目前公开展示的进展涵盖了一个产出 Preview 区块的 TypeScript 节点、一个使用 Ouroboros 迷你协议的浏览器轻节点,以及一个能够跟随链并提交交易的独立 Haskell 原型。尚无完全在浏览器内运行的生产级中继或出块者的文档记录。更直接的变化更为收敛:Cardano 应用可以开始将部分区块链验证从远程服务迁移到用户设备上。