跳转到主要内容

参数

startSlot
number
必填
起始 slot(包含)
limit
number
必填
返回的最大区块数
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": "getBlocksWithLimit",
  "params": [
    100000000,
    10
  ]
}'

带 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": "getBlocksWithLimit",
  "params": [
    100000000,
    10,
    {
      "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 10 blocks starting from slot
const blocks = await connection.getBlocksWithLimit(100000000, 10);
console.log('Blocks:', blocks);

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

注意事项

  1. 返回从指定 slot 开始的已确认区块
  2. 结果按升序返回
  3. limit 控制返回的最大区块数
  4. 某些 slot 可能被跳过(未生产区块)
  5. 响应是即时的,因为它从当前状态读取

最佳实践

  1. 根据需求使用适当的 commitment 级别
  2. 保持 limit 合理以避免超时
  3. 使用此方法代替 getBlocks 进行分页
  4. 适当时缓存结果以减少 RPC 负载
  5. 在应用逻辑中处理跳过的 slot

常见错误

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