getConfirmedBlock RPC Method

Возвращает идентификационные данные и информацию о транзакциях о подтвержденном блоке в ledger

Deprecated Method

Ожидается, что этот метод будет удален в solana-core v2.0. Вместо этого используйте getBlock.

Параметры #

u64 required

slot number, as u64 integer

object optional

:

commitment string optional

Default: finalized

transactionDetails string optional

Default: full

level of transaction detail to return, either "full", "signatures", or "none"

rewards bool optional

Default: true

whether to populate the rewards array.

encoding string optional

Default: json

Формат кодировки для данных клиента

Values: jsonbase58base64jsonParsed

  • Кодировка jsonParsed пытается использовать парсеры инструкций, специфичных для программы, чтобы вернуть более человекочитаемые и явные данные в списке transaction.message.instructions.
  • Если запрашивается jsonParsed, но парсер не может быть найден, инструкция возвращается к обычной кодировке JSON (поля accounts, data и programIdIndex). поля).

Результат #

Поле результата будет объектом со следующими полями:

  • <null> - if specified block is not confirmed
  • <object> - если блок подтвержден, создается объект со следующими полями:
    • blockhash: < string> - blockhash этого блока, как закодированная строка base-58
    • previousBlockhash: <string> - блокчейн родителя этого блока в виде строки в кодировке base-58; если родительский блок недоступен из-за очистки ledger, это поле возвращает "11111111111111111111111111111111".
    • parentSlot: <u64> - индекс слота родителя этого блока
    • транзакции: <array> - присутствует, если запрашивается "полная" информация о транзакции; массив JSON-объектов, содержащих:
      • transaction: - объект транзакции, либо в формате JSON, либо закодированные двоичные данные, в зависимости от параметра кодировки
      • meta: - объект метаданных о статусе транзакции, содержащий null` или:
        • err: - Ошибка при неудачной транзакции, отмена при успешной транзакции. Определения ошибок транзакций
        • fee: <u64> - комиссия, взимаемая за транзакцию, в виде целого числа u64
        • preBalances: <array> - массив u64 остатков на счетах до обработки транзакции
        • postBalances: <array> - массив u64 остатков на счетах после обработки транзакции
        • innerInstructions: <array|null> - Список внутренних инструкций или null, если запись внутренних инструкций не была включена во время этой транзакции.
        • preTokenBalances: <array|undefined> - список остатков токенов до обработки транзакции или опущен, если запись остатков токенов еще не была включена во время этой транзакции.
        • postTokenBalances: <array|undefined> - список остатков токенов после обработки транзакции или опущен, если запись остатков токенов еще не была включена во время этой транзакции.
        • logMessages: <array|null> - массив строковых сообщений журнала или null, если запись сообщений журнала не была включена во время этой транзакции
        • DEPRECATED: status: - Статус транзакции
          • "Ok": <null> - Транзакция прошла успешно
          • "Err": <ERR> - Транзакция завершилась с ошибкой TransactionError
    • подписи: <array> - присутствует, если для деталей транзакции запрашиваются "подписи"; массив строк подписей, соответствующих порядку транзакций в блоке
    • вознаграждения: <array> - присутствует, если запрашиваются вознаграждения; массив JSON-объектов, содержащих:
      • pubkey: <string> - открытый ключ в виде закодированной строки base-58 учетной записи, получившей вознаграждение.
      • Лампорты: <i64>- количество лампортов вознаграждения, зачисленных или списанных со счета, как i64
      • postBalance: <u64> - баланс счета в ламопортах после применения вознаграждения
      • rewardType: <string|undefined> - тип вознаграждения: "плата", "аренда», «голосование», «ставка"
      • комиссия: <u8|undefined> - комиссия с голосового счета, когда вознаграждение было начислено, присутствует только для вознаграждений за голосование и ставку
    • blockTime: <i64|null> - предполагаемое время производства, как временная метка Unix (секунды с эпохи Unix). null, если не доступен

Для получения более подробной информации о возвращаемых данных: #

  • Структура транзакций
  • Внутренняя структура инструкций
  • Структура баланса токенов

Пример кода #

curl https://api.devnet.solana.com -X POST -H "Content-Type: application/json" -d '
  {
    "jsonrpc": "2.0", "id": 1,
    "method": "getConfirmedBlock",
    "params": [430, "base64"]
  }
'

Замечания #

{
  "jsonrpc": "2.0",
  "result": {
    "blockTime": null,
    "blockhash": "3Eq21vXNB5s86c62bVuUfTeaMif1N2kUqRPBmGRJhyTA",
    "parentSlot": 429,
    "previousBlockhash": "mfcyqEXB3DnHXki6KjjmZck6YjmZLvpAByy2fj4nh6B",
    "rewards": [],
    "transactions": [
      {
        "meta": {
          "err": null,
          "fee": 5000,
          "innerInstructions": [],
          "logMessages": [],
          "postBalances": [499998932500, 26858640, 1, 1, 1],
          "postTokenBalances": [],
          "preBalances": [499998937500, 26858640, 1, 1, 1],
          "preTokenBalances": [],
          "status": {
            "Ok": null
          }
        },
        "transaction": [
          "AVj7dxHlQ9IrvdYVIjuiRFs1jLaDMHixgrv+qtHBwz51L4/ImLZhszwiyEJDIp7xeBSpm/TX5B7mYzxa+fPOMw0BAAMFJMJVqLw+hJYheizSoYlLm53KzgT82cDVmazarqQKG2GQsLgiqktA+a+FDR4/7xnDX7rsusMwryYVUdixfz1B1Qan1RcZLwqvxvJl4/t3zHragsUp0L47E24tAFUgAAAABqfVFxjHdMkoVmOYaR1etoteuKObS21cc1VbIQAAAAAHYUgdNXR0u3xNdiTr072z2DVec9EQQ/wNo1OAAAAAAAtxOUhPBp2WSjUNJEgfvy70BbxI00fZyEPvFHNfxrtEAQQEAQIDADUCAAAAAQAAAAAAAACtAQAAAAAAAAdUE18R96XTJCe+YfRfUp6WP+YKCy/72ucOL8AoBFSpAA==",
          "base64"
        ]
      }
    ]
  },
  "id": 1
}