Skip to main content
POST
getTokenAccountsByOwnerV2

개요

getTokenAccountsByOwnerV2는 광범위한 토큰 보유량을 가진 지갑 처리 및 토큰 포트폴리오를 효율적으로 쿼리하기 위해 설계된 표준 getTokenAccountsByOwner 메서드의 향상된 버전입니다. 이 메서드는 커서 기반의 페이지 매김 및 증분 업데이트 기능을 도입합니다.
V2의 새로운 기능:
  • 커서 기반 페이지 매김: 요청당 1에서 10,000개의 토큰 계정 제한을 구성합니다.
  • 증분 업데이트: changedSinceSlot를 사용하여 최근에 수정된 토큰 계정만 가져옵니다.
  • 포트폴리오 확장성: 수천 개의 토큰 계정을 가진 지갑을 효율적으로 처리합니다.
  • 하위 호환성: 모든 기존 getTokenAccountsByOwner 매개변수 및 필터를 지원합니다.
  • 선택적 withContext: trueslotapiVersionresult.context 아래에 추가합니다; 제외하거나 false 하고 포함되지 않습니다.
필터 요구사항: 쿼리에서 mint (특정 토큰) 또는 programId (SPL 토큰 또는 Token-2022 프로그램)을 제공해야 합니다. 소유자의 모든 토큰 유형을 필터 없이 쿼리하는 것은 지원되지 않습니다.

주요 이점

대규모 포트폴리오

수천 개의 토큰 계정을 가진 지갑을 시간 초과나 메모리 문제 없이 처리합니다.

실시간 추적

증분 업데이트를 위한 changedSinceSlot를 사용하여 포트폴리오 변경 사항을 실시간으로 모니터링합니다.

withContext (선택 사항)

config 객체(params[2])의 불리언입니다. result의 모양만 변경되며, 필터, 제한 또는 페이지 매김은 변경되지 않습니다. 제외하거나 false: result.value은 토큰 계정 배열입니다. true: result.contextresult.value객체로 포함합니다 (accounts, paginationKey). 둘 다 처리하는 경우 Array.isArray(result.value)에서 나눕니다.

페이지 매김 모범 사례

중요한 페이지 매김 동작: 반환되는 토큰 계정이 없을 때만 페이지 매김의 끝이 표시됩니다. API는 필터링으로 인해 제한보다 적은 계정을 반환할 수 있습니다 - paginationKeynull일 때까지 항상 페이지 매김을 계속하십시오.

기본 포트폴리오 쿼리

증분 포트폴리오 업데이트

토큰 프로그램 지원

Token-2022 지원: 확장 기능(전송 수수료, 이자 지급 토큰 등)을 사용하여 Token-2022 계정을 쿼리하려면 TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEbprogramId로 사용하십시오.

getTokenAccountsByOwner에서의 마이그레이션

기존 쿼리에 페이지 매김 매개변수를 추가하면 마이그레이션은 간단합니다:

관련 메서드

getTokenAccountsByOwner

페이지 매김 없는 원본 메서드

getProgramAccountsV2

프로그램 계정 쿼리를 위한 V2 메서드

요청 매개변수

string
필수
토큰 보유를 쿼리할 계정 소유자의 Solana 지갑 주소(pubkey)로, base-58 인코딩된 문자열입니다.
string
특정 토큰 또는 NFT에 대한 계정만 검색하기 위한 특정 Solana 토큰 발행 주소입니다.
string
토큰 계정을 생성한 특정 Solana 토큰 프로그램 ID (일반적으로 SPL 토큰 프로그램)입니다.
string
요청에 대한 커밋 수준입니다.
  • confirmed
  • finalized
  • processed
number
요청을 평가할 수 있는 최소 슬롯입니다.
boolean
true일 때, result.context (스냅샷 메타데이터: slot, apiVersion)와 함께 accountspaginationKey를 객체로서 result.value 아래에 포함시킵니다. false 또는 제외된 경우, result.value는 이 페이지의 토큰 계정 배열로, result에서 paginationKey와 함께 제공됩니다. 동일한 필터 및 제한이 적용됩니다.
object
계정의 데이터 슬라이스를 요청합니다.
number
반환할 바이트 수입니다.
number
읽기를 시작할 바이트 오프셋입니다.
string
계정 데이터의 인코딩 형식입니다.
  • base58
  • base64
  • base64+zstd
  • jsonParsed
number
요청당 반환할 최대 토큰 계정 수입니다 (1-10,000).
string
다음 페이지를 가져오기 위한 Base-58 인코딩된 페이지 매김 커서입니다. 이전 응답에서 paginationKey를 사용하십시오.
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>
기본값:getTokenAccountsByOwnerV2

호출할 RPC 메서드의 이름입니다.

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

"getTokenAccountsByOwnerV2"

params
string · object · object[]

특정 퍼블릭 키가 소유한 페이지네이션된 토큰 계정을 쿼리하기 위한 매개변수입니다.

토큰 보유를 쿼리할 계정 소유자의 Solana 지갑 주소(퍼블릭 키)로, base-58로 인코딩된 문자열입니다.

예시:

"A1TMhSGzQxMr1TboBKtgixKz1sS6REASMxPo1qsyTSJd"

응답

소유자에 의해 페이지네이션된 토큰 계정을 성공적으로 가져왔습니다.

jsonrpc
enum<string>

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

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

"2.0"

id
string

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

예시:

"1"

result
without withContext · object

withContext가 false이거나 생략되었을 때의 페이지네이션된 토큰 계정입니다. 계정 목록이 객체가 아닌 배열로 result.value에 있는 익숙한 형태와 일치합니다.