Blockscout项目中的Rollups交易批次监控功能实现
背景介绍
Blockscout作为一款开源的区块链浏览器,其健康监控功能对于运维至关重要。在Rollups技术日益普及的背景下,实现对交易批次的监控成为了提升系统可靠性的关键需求。
功能设计
Blockscout团队设计了一个扩展的健康监控端点,用于实时跟踪Rollups交易批次的同步状态。该功能主要包含两个核心模块:
- 区块实时索引监控模块
- 交易批次实时索引监控模块
技术实现细节
健康监控端点响应结构
新的健康监控端点响应采用了分层结构设计:
{
"metadata": {
"blocks": {
"latest_block": {
"cache": {
"timestamp": "2025-02-13 13:48:19.000000Z",
"number": "131927861"
},
"db": {
"timestamp": "2025-02-13 13:48:25.000000Z",
"number": "131927864"
}
},
"healthy": true
},
"batches": {
"latest_batch": {
"timestamp": "2025-02-13 13:48:19.000000Z",
"number": "100500"
},
"healthy": false
}
},
"healthy": false
}
各Rollups链实现方案
针对不同的Rollups解决方案,Blockscout团队实现了特定的监控函数:
Arbitrum实现
在Explorer.Chain.Arbitrum.Reader.Common模块中新增了get_latest_batch_info/1函数,该函数能够:
- 获取最新批次号
- 记录最新批次提交到父链的时间戳
- 计算最近10个批次的平均间隔时间
ZkSync实现
在Explorer.Chain.ZkSync.Reader模块中实现了类似功能,但针对ZkSync的特性进行了适配。
Optimism实现
Optimism的实现位于Explorer.Chain.Optimism.FrameSequence模块,主要特点包括:
- 查询最近100个已准备好的批次
- 计算批次间的平均时间间隔
- 确保至少有两个批次时才返回有效数据
Polygon zkEVM实现
在Explorer.Chain.PolygonZkevm.Reader模块中实现了针对zkEVM的监控功能,特别关注已完成的批次。
Scroll实现
Scroll的实现位于Explorer.Chain.Scroll.Reader模块,主要监控已提交的批次信息。
Prometheus指标设计
为了实现更细粒度的监控,Blockscout还设计了Prometheus指标,包括:
- 区块/批次编号
- 区块/批次时间戳
- 批次间的平均时间间隔
这些指标通过修改各Rollups链的批次导入代码位置来实现数据采集。
技术挑战与解决方案
在实现过程中,团队遇到了几个技术挑战:
-
批次时间计算准确性:最初的计算逻辑存在缺陷,可能导致不准确的平均时间计算。通过优化枚举和列表处理逻辑解决了这个问题。
-
多链适配:不同Rollups链的批次存储结构各异。通过为每种链类型设计特定的查询函数来应对这一挑战。
-
性能考量:监控查询不能影响主业务流程。通过合理设置查询限制(如只查询最近100个批次)来平衡监控需求和性能。
总结
Blockscout通过实现Rollups交易批次监控功能,显著提升了系统对Layer2解决方案的监控能力。这一改进不仅增强了运维团队对系统健康状态的把控,也为后续的性能优化提供了数据基础。该功能的实现展示了Blockscout团队对区块链技术发展趋势的敏锐把握和快速响应能力。
kernelopenEuler内核是openEuler操作系统的核心,既是系统性能与稳定性的基石,也是连接处理器、设备与服务的桥梁。C038
Kimi-K2-ThinkingKimi K2 Thinking 是最新、性能最强的开源思维模型。从 Kimi K2 开始,我们将其打造为能够逐步推理并动态调用工具的思维智能体。通过显著提升多步推理深度,并在 200–300 次连续调用中保持稳定的工具使用能力,它在 Humanity's Last Exam (HLE)、BrowseComp 等基准测试中树立了新的技术标杆。同时,K2 Thinking 是原生 INT4 量化模型,具备 256k 上下文窗口,实现了推理延迟和 GPU 内存占用的无损降低。Python00
kylin-wayland-compositorkylin-wayland-compositor或kylin-wlcom(以下简称kywc)是一个基于wlroots编写的wayland合成器。 目前积极开发中,并作为默认显示服务器随openKylin系统发布。 该项目使用开源协议GPL-1.0-or-later,项目中来源于其他开源项目的文件或代码片段遵守原开源协议要求。C00
PaddleOCR-VLPaddleOCR-VL 是一款顶尖且资源高效的文档解析专用模型。其核心组件为 PaddleOCR-VL-0.9B,这是一款精简却功能强大的视觉语言模型(VLM)。该模型融合了 NaViT 风格的动态分辨率视觉编码器与 ERNIE-4.5-0.3B 语言模型,可实现精准的元素识别。Python00
GLM-4.7GLM-4.7上线并开源。新版本面向Coding场景强化了编码能力、长程任务规划与工具协同,并在多项主流公开基准测试中取得开源模型中的领先表现。 目前,GLM-4.7已通过BigModel.cn提供API,并在z.ai全栈开发模式中上线Skills模块,支持多模态任务的统一规划与协作。Jinja00
agent-studioopenJiuwen agent-studio提供零码、低码可视化开发和工作流编排,模型、知识库、插件等各资源管理能力TSX0118
Spark-Formalizer-X1-7BSpark-Formalizer 是由科大讯飞团队开发的专用大型语言模型,专注于数学自动形式化任务。该模型擅长将自然语言数学问题转化为精确的 Lean4 形式化语句,在形式化语句生成方面达到了业界领先水平。Python00