常见用例
- 监控链进展: 定期调用此方法以查看链的推进情况。
- 获取链长度快照: 确定在某个时间点(基于承诺)处理的区块总数。
- 与其他数据交叉引用: 在分析其他链上数据或事件时,使用区块高度作为参考点。
参数
可选择地使用一个配置对象作为其第一个参数(或者不带参数调用以使用默认值):- 配置对象 (object, optional): 包含以下字段的配置对象:
- 承诺级别 (string, optional): 指定用于查询的承诺级别。默认为最大锁定。
- 最大锁定: 节点将查询被集群的绝大多数确认达到最大锁定的最新区块。
- 投票: 节点将查询已被集群绝大多数投票的最新区块。
- 空头锁定: 节点将查询其最新区块。注意,该区块可能不完整。
- 最小插槽 (number, optional): 请求可以被评估的最小插槽。这确保返回的区块高度来自不小于该插槽的插槽。
- 承诺级别 (string, optional): 指定用于查询的承诺级别。默认为最大锁定。
开发者提示
- 承诺级别很重要: 返回的区块高度可能根据指定的承诺级别而有所不同。最大锁定提供最稳定的高度,而空头锁定可能提供更当前但可能是暂时的高度。
- 为一致性而使用最小插槽: 如果需要确保区块高度是从至少与您正在跟踪的特定插槽一样新的状态进行查询的,请使用最小插槽。
- 不是插槽号: 请记住,区块高度与插槽号不同。插槽是一段时间,并且不是每个插槽都会产生区块(这些称为跳过的插槽)。区块高度是实际产生的区块计数。
- 基本链健康检查: 虽然简单,但获取区块高度可以作为您应用程序或监控系统基本链健康或同步检查的一部分。
响应
JSON-RPC 响应中的result 字段将是一个单一的数字:
blockHeight(数字):根据指定的承诺级别,节点的当前块高度 (u64)。
示例:获取当前区块高度
让我们从Helius Devnet RPC获取当前区块高度。 **注意:**在下面的示例中,将YOUR_API_KEY 替换为您实际的 Helius API 密钥。