跳转到主要内容
RPC方法提供指定区块的估计生产时间,通过其插槽编号标识。时间以Unix时间戳形式返回(自Unix纪元以来的秒数)。 当您需要将区块生产与现实世界的时间相关联时,此方法非常有用。
避免批处理以提高性能批处理归档方法会显著增加延迟。不允许超过10个请求的批处理。

常见用例

  • 事件时间戳: 确定特定区块的生成时间以对链上事件进行时间戳标记。
  • 分析区块生成间隔: 计算区块之间的时间差(尽管对于更详细的分析,可能需要结合其他方法)。
  • 关联链下数据: 通过匹配区块生成时间,将链下事件或数据与链上活动对齐。

请求参数

该方法接受一个参数:
  1. (u64,必需):要获取其估计生产时间的区块的插槽编号。

响应结构

JSON-RPC响应的字段将是:
  • (i64):作为Unix时间戳的估计生产时间(自Unix纪元以来的秒数)。
  • **:如果指定区块没有可用的时间戳(例如,区块非常旧且数据已被修剪,或者区块被跳过且没有关联的时间戳)。

示例

1. 获取特定区块的估计时间

此示例获取特定插槽的估计生产时间。请记得将替换为您所针对网络(例如,Mainnet Beta或Devnet)上的实际、最新且已确认的插槽。
# Replace SLOT_NUMBER_TO_QUERY with a valid slot, e.g., a recent one from an explorer
curl https://mainnet.helius-rpc.com/?api-key=<api-key> -X POST -H "Content-Type: application/json" -d \
  '{
    "jsonrpc": "2.0",
    "id": 1,
    "method": "getBlockTime",
    "params": [
      SLOT_NUMBER_TO_QUERY 
    ]
  }'

开发者提示

  • 时间戳可用性: 并非所有区块都能提供时间戳,尤其是非常旧的或被跳过的插槽。在这种情况下,方法返回。
  • 估计: 时间是一个估计值。它是从验证者的投票时间戳的权益加权平均值导出的。虽然通常准确,但它不像区块哈希那样为每个区块提供一个保证的、加密安全的时间戳。
  • 节点依赖: 可用性和精度可能会根据查询的RPC节点略有不同,尤其是对于非常近期(尚未最终确定)的区块。
本指南解释了如何使用 getBlockTime 来检索 Solana 网络上任何给定区块的估计生成时间戳。