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

Параметры

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

Ответ

result
object | null
Возвращает null, если блок не найден. В противном случае возвращает объект, содержащий:

Примеры кода

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

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": "getBlock",
  "params": [
    430,
    {
      "encoding": "json",
      "transactionDetails": "full",
      "rewards": true
    }
  ]
}'

Запрос с разобранными данными транзакции

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": "getBlock",
  "params": [
    430,
    {
      "encoding": "jsonParsed",
      "transactionDetails": "full",
      "rewards": true,
      "maxSupportedTransactionVersion": 0
    }
  ]
}'

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

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

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

const block = await connection.getBlock(
  slot,
  {
    maxSupportedTransactionVersion: 0
  }
);

Примечания

  1. Время производства блока является оценочным и основано на времени genesis-блока и прошедших слотах.
  2. Не все блоки включают вознаграждения.
  3. Кодирование jsonParsed пытается разобрать данные инструкций транзакции на основе известных макетов программ.
  4. Некоторые блоки могут быть пропущены (лидер не назначен или производство блока завершилось неудачей).
  5. Данные блока могут быть удалены из узла в зависимости от конфигурации реестра.

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

  1. Используйте transactionDetails: "signatures", если вам нужны только подписи транзакций.
  2. Установите rewards: false, если данные о вознаграждениях не нужны.
  3. Рассмотрите использование getBlockHeight сначала, если вам нужен последний блок.
  4. Для обновлений в реальном времени рассмотрите использование подписки через websocket.

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

КодСообщениеРешение
-32004Block not available for slotБлок был удалён или пропущен
-32602Invalid param: WrongSizeУбедитесь, что номер слота действителен
-32602Invalid param: Too largeЗапросите более свежий блок
-32009Transaction version unsupportedУкажите maxSupportedTransactionVersion