Skip to main content
插槽和区块监控为您提供了 Solana 网络共识、区块生产计时和整体健康状况的窗口。通过 LaserStream,您可以使用 helius-laserstream SDK 实时跟踪插槽进展、区块最终化和网络性能指标。
先决条件: 本指南假设您已完成 LaserStream gRPC 快速入门 并拥有 API 密钥。

监控类型

跟踪网络共识进展监控不同承诺级别的插槽进展:
插槽数据包括: 插槽编号、父插槽、承诺状态 (processed / confirmed / finalized) 以及领导者信息。
最佳用途: 网络健康监控、插槽计时分析、共识跟踪。

实用示例

示例 1:网络健康监控器

跟踪插槽进展并识别网络问题:

示例 2:区块生产监控器

跟踪区块生产和交易量:

示例 3:过滤区块监控器

监控包含特定程序活动的区块:

数据结构

每个插槽代表大约400毫秒的网络时间。三个承诺级别反映了逐步增强的保证:processed (初始)、confirmed (超多数投票)、finalized (不可逆)。
u64 字段(插槽、父级)以字符串形式传送,以在 Number.MAX_SAFE_INTEGER 之后保持精度。需要进行算术运算时请使用 Number(slot.slot) 进行转换。status 是一个数字枚举 — 使用 CommitmentLevel[slot.status] 获取可读名称。
数字字段(slot, parentSlot, executedTransactionCount, entriesCount, blockHeightblockTime 内的值)都以字符串形式输出,因为它们在底层 proto 中是 u64。对于算术或比较,请将它们包装在 Number(...) 中。
完整区块可能包含数 MB 的所有事务和账户。相同的 u64-as-string 约定适用 —— 将数字字段包装在 Number(...) 以进行算术。每个事务中,meta.feemeta.preBalancesmeta.postBalances 等也是字符串。

性能考虑

插槽监控

轻量级:带宽极低,处理开销最小。适用于监控仪表板。

区块元数据

平衡:中等带宽,区块级洞察,无完整数据。适合分析。

完整区块

高流量:完整交易数据,需要强大的处理能力。始终与过滤器配对使用。

过滤区块

优化:使用 accountInclude,禁用不需要的 includeAccounts/includeEntries

使用案例

跟踪网络健康和性能 —— 插槽计时、拥堵、共识。

错误处理

症状: 插槽进展出现空缺。原因: 网络连接问题、验证器宕机、客户端处理延迟。解决方案: 跟踪插槽空缺并发出警报;通过 历史重播 实现捕获逻辑;监控连接健康。
症状: 区块数据过多。解决方案: 使用区块元数据代替完整区块;应用账户过滤器;禁用不必要的包含项(条目、账户);异步处理。
症状: 插槽计时不一致。分析: 计算移动平均值;跟踪偏差;监控网络健康指标;与验证器性能相关联。

最佳实践

生产指南:
  • 从元数据开始 — 在订阅完整区块之前使用区块元数据
  • 应用过滤器 — 使用 accountInclude 删除不相关数据
  • 监控计时 — 将插槽进展作为网络健康指示灯
  • 处理空缺 — 结合 历史重播,使在重新连接时自动回填缺失插槽
  • 异步处理 — 不要通过繁重的计算阻塞流处理
  • 匹配承诺与需求processed 用于低延迟接口,confirmed/finalized 用于状态写入