跳转到主要内容

参数

startSlot
number
必填
起始 slot(包含)
endSlot
number
必填
结束 slot(包含)
config
object
包含以下可选字段的配置对象:

响应

result
array
按升序排列的区块 slot 数组

代码示例

基本请求

curl https://fra.rpc.orbitflare.com?api_key=YOUR-API-KEY -X POST -H "Content-Type: application/json" -d '{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "getBlocks",
  "params": [
    100000000,
    100000100
  ]
}'

带 Commitment 的请求

curl https://fra.rpc.orbitflare.com?api_key=YOUR-API-KEY -X POST -H "Content-Type: application/json" -d '{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "getBlocks",
  "params": [
    100000000,
    100000100,
    {
      "commitment": "finalized"
    }
  ]
}'

使用 web3.js

import { Connection } from '@solana/web3.js';

const connection = new Connection('https://fra.rpc.orbitflare.com?api_key=YOUR-API-KEY');

// Get blocks in range
const blocks = await connection.getBlocks(100000000, 100000100);
console.log('Blocks:', blocks);

// Get finalized blocks
const finalizedBlocks = await connection.getBlocks(100000000, 100000100, 'finalized');
console.log('Finalized blocks:', finalizedBlocks);

注意事项

  1. 返回指定 slot 之间的已确认区块
  2. 结果按升序返回
  3. 范围包含起始和结束 slot
  4. 某些 slot 可能被跳过(未生产区块)
  5. 响应是即时的,因为它从当前状态读取

最佳实践

  1. 根据需求使用适当的 commitment 级别:
    • processed 获取最新区块
    • confirmed 获取高概率最终性
    • finalized 获取保证的最终性
  2. 保持 slot 范围合理以避免超时
  3. 考虑使用 getBlocksWithLimit 进行分页
  4. 适当时缓存结果以减少 RPC 负载
  5. 在应用逻辑中处理跳过的 slot

常见错误

错误码消息解决方案
-32602Invalid param: startSlot must be less than endSlot确保 startSlot 小于 endSlot
-32602Invalid param: slot range too large减小 slot 范围大小
-32601Method not found验证是否连接到 Solana RPC 节点
-32007Block information unavailable节点可能正在启动或范围太旧