Skip to main content
getSlot RPC 方法返回 RPC 节点认为已达到特定承诺级别的当前 slot。这是理解节点感知的区块链当前状态的重要方法。

常见用例

  • 获取当前网络进度: 确定节点处理或确认的最新槽。
  • 节点同步检查: 比较不同节点的槽可以指示它们的同步状态。
  • 操作时间戳: 使用当前槽作为操作的参考点或理解某些数据的年龄。
  • 其他 RPC 调用的输入: 一些 RPC 方法可能使用槽号作为参考点。

请求参数

此方法将一个可选的配置对象作为其第一个参数:
  1. options (object, 可选):一个可选的配置对象,具有以下字段:
    • commitment (string, 可选):指定查询的承诺级别。支持的值有 finalized, confirmed, 或 processed。如果省略,则使用 RPC 节点的默认承诺(通常是 finalized)。
      • processed:节点将查询其最新的 slot。请注意,该 slot 可能尚未被集群确认,并可能会被跳过。
      • confirmed:节点将查询已被集群超多数投票的最新 slot。
      • finalized:节点将查询已被集群超多数确认达到最大锁定(不能回退)的最新 slot。
    • minContextSlot (number, 可选):请求可以评估的最小 slot。这设置了节点上下文的最小 slot。如果节点的状态早于此 slot,可能会返回错误或返回一个反映其当前(较旧)状态的 slot 编号。

响应结构

JSON-RPC 响应中的字段 result 是一个单一的 u64 (无符号 64 位整数),表示根据指定承诺级别的当前 slot 编号。 示例响应:

示例

1. 获取当前槽(默认承诺)

此示例使用节点的默认承诺级别(通常是 finalized)获取当前 slot。

2. 获取具有特定承诺的当前槽

此示例获取已达到 confirmed 承诺的当前 slot。

开发者提示

  • 承诺事项: 返回的槽号在很大程度上取决于指定的commitment级别。有关详细信息,请参阅Solana承诺级别processed将是节点知道的最高(最新)槽,而finalized将是整个网络确认的较旧槽。选择适合您的用例数据终结性需求的承诺级别。
  • 节点变异性: 由于网络传播延迟或自身处理状态,不同的RPC节点可能会为同一承诺级别返回略有不同的槽号。这在processedconfirmed级别尤其明显。
  • minContextSlot 此参数确保处理您请求的节点至少已经达到minContextSlot。如果节点落后于此槽,行为可能会有所不同(例如,错误或节点当前的最高槽小于minContextSlot)。通常在需要确保查询针对最近状态的高级场景中使用。
getSlot是与Solana区块链交互和理解其当前进展的简单但至关重要的方法。