Перейти к основному содержанию
POST
getHistoricalAccountInfo
getHistoricalAccountInfo находится на этапе бета-тестирования. Параметры, цены, форматы ответов и охват данных могут измениться.

Обзор

getHistoricalAccountInfo возвращает учетную запись Solana в том виде, в котором она существовала в прошлом слоте или сразу после определенной транзакции в этом слоте. Это эксклюзивный метод Helius RPC. Стандартный метод getAccountInfo возвращает только текущее состояние. Ответ содержит те же поля учетной записи, что и getAccountInfo, а также lastUpdatedAt — слот и транзакцию, в рамках которых в последний раз было записано полученное состояние. История доступна начиная со слота 444,959,999 (7 сентября 2026 года), то есть с состояния в начале эпохи 1030. Запросы для более ранних слотов возвращают ошибку -32018. getHistoricalAccountInfo доступен в mainnet для тарифных планов Business и выше. В период бета-тестирования вызов не расходует кредиты. Цена может измениться.

Выбор позиции в истории

Второй параметр — это объект запроса, который определяет, из какой точки истории нужно прочитать данные: Для transactionIndex необходимо указать slot. Чтобы прочитать учетную запись непосредственно перед транзакцией с индексом N, отправьте запрос с transactionIndex: N - 1. Для первой транзакции в слоте запросите предыдущий слот без transactionIndex. Записи вне транзакций, например вознаграждения за эпоху, применяются в конце слота. Запрос с transactionIndex никогда их не включает.

Пример запроса

Чтение ответа

  • value — учетная запись в запрошенной позиции или null, если учетная запись тогда не существовала: она еще не была создана или уже была закрыта. Ответ null не содержит lastUpdatedAt.
  • lastUpdatedAt.slot и lastUpdatedAt.transactionIndex определяют запись, которая создала это состояние. Эта запись находится в запрошенной позиции или перед ней.
  • lastUpdatedAt.transactionIndex равен null, если запись произошла вне транзакции, например при начислении вознаграждений за эпоху.
  • lastUpdatedAt.slot со значением 444,959,999 и null в transactionIndex означает, что учетная запись не изменялась с начала охвата исторических данных. Это не означает, что учетная запись была записана в этом слоте.
  • context.slot — последний слот, проиндексированный Helius на момент обработки запроса, а не запрошенный вами слот.
  • Учетные записи токенов jsonParsed используют количество десятичных знаков минта в запрошенной позиции. Если минт невозможно прочитать в этой позиции, данные учетной записи возвращаются в base64.
Чтобы получить список всех прошлых состояний учетной записи, используйте lastUpdatedAt как курсор. См. раздел Последовательный просмотр истории учетной записи в обратном порядке.

Ошибки

Связанные методы

Historical Accounts Guide

Как работают позиции, охват и lastUpdatedAt в методах для исторических данных учетных записей

getHistoricalTokenAccountsByOwner

Получите список учетных записей токенов кошелька в прошлом слоте

getTransactionsForAddress

Найдите slot и transactionIndex транзакций, которые хотите проверить

getAccountInfo

Получите текущее состояние учетной записи

Параметры запроса

string
обязательно
Адрес учетной записи для чтения в кодировке Base58.
number
Слот, в котором нужно прочитать состояние. Возвращает учетную запись по состоянию на конец этого слота. Самый ранний поддерживаемый слот — 444959999, то есть состояние в начале эпохи 1030. Если параметр не указан, читается последний проиндексированный слот с учетом запрошенного уровня подтверждения.
number
Позиция транзакции в слоте. Возвращает состояние учетной записи сразу после выполнения этой транзакции, а не в конце слота. Требует указания slot.
string
по умолчанию:"base64"
Формат кодирования данных учетной записи. base58 и binary не поддерживаются.
  • base64
  • base64+zstd
  • jsonParsed
object
Возвращает только фрагмент данных каждой учетной записи. Применяется к кодировкам base64 и base64+zstd.
number
обязательно
Смещение в байтах, с которого следует начать чтение.
number
обязательно
Количество возвращаемых байтов.
string
по умолчанию:"finalized"
Уровень подтверждения. processed не поддерживается.
  • finalized
  • confirmed
number
Минимальный слот, в котором может быть обработан запрос.

Авторизации

api-key
string
query
обязательно

Ваш ключ API Helius. Его можно бесплатно получить в панели управления.

Тело

application/json
jsonrpc
enum<string>
по умолчанию:2.0
обязательно

Версия протокола JSON-RPC.

Доступные опции:
2.0
Пример:

"2.0"

id
string
по умолчанию:1
обязательно

Уникальный идентификатор запроса.

Пример:

"1"

method
enum<string>
по умолчанию:getHistoricalAccountInfo
обязательно

Название вызываемого метода RPC.

Доступные опции:
getHistoricalAccountInfo
Пример:

"getHistoricalAccountInfo"

params
(string | Запрос · object | Конфигурация · object)[]
обязательно

Массив, содержащий адрес аккаунта, необязательный объект запроса для выбора позиции в истории и необязательный объект конфигурации.

Required array length: 1 - 3 elements

Адрес аккаунта для чтения в кодировке Base58.

Пример:

"EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v"

Ответ

Историческое состояние аккаунта успешно получено.

jsonrpc
enum<string>

Версия протокола JSON-RPC.

Доступные опции:
2.0
Пример:

"2.0"

id
string

Идентификатор, соответствующий запросу.

Пример:

"1"

result
object