Перейти к основному содержанию

Параметры

config
object
Объект конфигурации, содержащий следующие необязательные поля:

Ответ

result
object

Примеры кода

Базовый запрос

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": "getBlockProduction"
}'

Запрос с диапазоном и идентификатором

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": "getBlockProduction",
  "params": [
    {
      "range": {
        "firstSlot": 100000000,
        "lastSlot": 100000100
      },
      "identity": "GH7ome3EiwEr17v3Fn6XY4RjS1YERxYzwXSW8kZ8kBYq"
    }
  ]
}'

Использование web3.js

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

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

const blockProduction = await connection.getBlockProduction();
console.log('Block production:', blockProduction);

// Get production for specific range and validator
const config = {
  range: {
    firstSlot: 100000000,
    lastSlot: 100000100
  },
  identity: 'GH7ome3EiwEr17v3Fn6XY4RjS1YERxYzwXSW8kZ8kBYq'
};
const specificProduction = await connection.getBlockProduction(config);

Примечания

  1. Без параметров возвращает производство для всех валидаторов в текущем epoch
  2. Параметр range может охватывать несколько epoch
  3. Статистика производства блоков используется для отслеживания производительности валидатора
  4. Результаты включают как назначенные слоты лидера, так и фактически произведённые блоки

Лучшие практики

  1. Используйте range для ограничения данных при запросе исторической информации
  2. Используйте identity для отслеживания производительности конкретного валидатора
  3. Сравнивайте leader_slots с blocks_produced для оценки надёжности валидатора
  4. Кэшируйте результаты при необходимости для снижения нагрузки на RPC

Распространённые ошибки

КодСообщениеРешение
-32602Invalid param: WrongSizeУбедитесь, что идентификатор валидатора действителен
-32602Invalid param: not base58 encoded stringУбедитесь, что идентификатор валидатора закодирован в base58
-32602Invalid param: slot range too largeУменьшите размер диапазона слотов
-32007Block production not availableУзел может выполнять начальную загрузку или диапазон слишком старый