메인 콘텐츠로 건너뛰기
POST
getHistoricalAccountInfo
getHistoricalAccountInfo은 베타 버전입니다. 매개변수, 가격, 응답 형식 및 데이터 제공 범위는 변경될 수 있습니다.

개요

getHistoricalAccountInfo은 과거 슬롯 또는 해당 슬롯의 특정 트랜잭션 직후 시점의 Solana 계정을 반환합니다. Helius 전용 RPC 메서드입니다. 표준 getAccountInfo은 현재 상태만 반환합니다. 응답에는 getAccountInfo과 동일한 계정 필드와 함께 lastUpdatedAt이 포함됩니다. 이는 반환된 상태를 마지막으로 기록한 슬롯과 트랜잭션입니다. 기록은 에포크 1030이 시작될 때의 상태인 슬롯 444,959,999(2026년 9월 7일)부터 제공됩니다. 이보다 이전 슬롯을 요청하면 오류 -32018이 반환됩니다. getHistoricalAccountInfo은 Business 이상의 요금제에서 메인넷을 통해 사용할 수 있으며, 베타 기간에는 호출당 0크레딧이 부과됩니다. 가격은 변경될 수 있습니다.

기록에서 위치 선택

두 번째 매개변수는 기록에서 읽을 시점을 선택하는 쿼리 객체입니다. transactionIndex을 사용하려면 slot이 필요합니다. 인덱스 N의 트랜잭션 직전 계정을 읽으려면 transactionIndex: N - 1을 쿼리하세요. 슬롯의 첫 번째 트랜잭션 직전 상태를 확인하려면 transactionIndex 없이 이전 슬롯을 쿼리하세요. 에포크 보상과 같이 트랜잭션을 통하지 않는 쓰기는 슬롯 끝에 적용됩니다. transactionIndex을 사용한 쿼리에는 이러한 쓰기가 포함되지 않습니다.

요청 예시

응답 읽기

  • **value**은 요청한 위치의 계정입니다. 당시 계정이 아직 생성되지 않았거나 이미 폐쇄되어 존재하지 않았다면 null입니다. null 응답에는 lastUpdatedAt이 없습니다.
  • **lastUpdatedAt.slot**과 **lastUpdatedAt.transactionIndex**은 이 상태를 만든 쓰기를 식별합니다. 해당 쓰기는 요청한 위치 또는 그 이전에 있습니다.
  • 에포크 보상처럼 트랜잭션 외부에서 쓰기가 발생한 경우 lastUpdatedAt.transactionIndex은 null입니다.
  • **null transactionIndex을 포함하는 444,959,999의 lastUpdatedAt.slot**은 기록 제공이 시작된 이후 계정이 변경되지 않았음을 의미합니다. 해당 슬롯에서 계정에 쓰기가 발생했다는 의미는 아닙니다.
  • **context.slot**은 쿼리한 슬롯이 아니라 Helius가 요청을 처리할 당시 인덱싱한 최신 슬롯입니다.
  • jsonParsed 토큰 계정은 요청한 위치를 기준으로 민트의 소수 자릿수를 사용합니다. 해당 위치에서 민트를 읽을 수 없으면 계정은 base64를 대신 사용합니다.
계정의 모든 과거 상태를 나열하려면 lastUpdatedAt을 커서로 사용하세요. 계정 기록을 역순으로 탐색하기를 참조하세요.

오류

관련 메서드

Historical Accounts Guide

과거 계정 메서드에서 위치, 제공 범위 및 lastUpdatedAt이 작동하는 방식

getHistoricalTokenAccountsByOwner

과거 슬롯에서 지갑의 토큰 계정 나열하기

getTransactionsForAddress

검사하려는 트랜잭션의 슬롯과 transactionIndex 찾기

getAccountInfo

계정의 현재 상태 읽기

요청 매개변수

string
필수
읽을 계정의 Base-58 인코딩 주소입니다.
number
상태를 읽을 슬롯입니다. 이 슬롯이 끝난 시점의 계정을 반환합니다. 지원되는 가장 이른 슬롯은 에포크 1030이 시작될 때의 상태인 444959999입니다. 생략하면 요청한 커밋먼트로 제한된 최신 인덱싱 슬롯을 읽습니다.
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
필수

Helius API 키입니다. 대시보드에서 무료로 발급받을 수 있습니다.

본문

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

읽을 계정의 Base-58 인코딩 주소입니다.

예시:

"EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v"

응답

과거 계정 상태를 성공적으로 조회했습니다.

jsonrpc
enum<string>

JSON-RPC 프로토콜 버전입니다.

사용 가능한 옵션:
2.0
예시:

"2.0"

id
string

요청과 일치하는 식별자입니다.

예시:

"1"

result
object