getTokenAccountsByOwnerV2
getTokenAccountsByOwnerV2 es una versión mejorada de getTokenAccountsByOwner con paginación por cursor y actualizaciones mediante changedSinceSlot para grandes carteras de tokens de Solana.
Descripción general
getTokenAccountsByOwnerV2 es una versión mejorada del método estándar getTokenAccountsByOwner, diseñada específicamente para consultar carteras de tokens de forma eficiente y gestionar carteras con una gran cantidad de tokens. Este método incorpora paginación basada en cursor y actualizaciones incrementales.
- Paginación basada en cursor: Configura límites de 1 a 10,000 cuentas de tokens por solicitud
- Actualizaciones incrementales: Usa
changedSinceSlotpara obtener solo las cuentas de tokens modificadas recientemente - Escalabilidad de las carteras: Gestiona de forma eficiente carteras con miles de cuentas de tokens
- Compatibilidad con versiones anteriores: Admite todos los parámetros y filtros existentes de
getTokenAccountsByOwner withContextopcional:trueagregaslotyapiVersiondentro deresult.context; omítelo o usafalsepara que no se incluyan
Beneficios principales
Large Portfolios
Real-time Tracking
changedSinceSlot para obtener actualizaciones incrementaleswithContext (opcional)
Valor booleano en el objeto de configuración (params[2]). Solo cambia la estructura de result, no los filtros, los límites ni la paginación. Si se omite o se usa false: result.value es el arreglo de cuentas de tokens. Con true: result.context más result.value como objeto (accounts, paginationKey). Si gestionas ambos casos, crea una bifurcación según Array.isArray(result.value).
Prácticas recomendadas de paginación
Consulta básica de una cartera
Actualizaciones incrementales de una cartera
Compatibilidad con programas de tokens
Migración desde getTokenAccountsByOwner
La migración es sencilla: solo agrega parámetros de paginación a tus consultas existentes:Métodos relacionados
getTokenAccountsByOwner
getProgramAccountsV2
Parámetros de la solicitud
confirmedfinalizedprocessed
true, devuelve result.context (metadatos de la instantánea: slot, apiVersion) y anida
accounts e paginationKey dentro de result.value como un objeto. Cuando es false
o se omite, result.value es el arreglo de cuentas de tokens de esta página, con paginationKey
en result. Se aplican los mismos filtros y límites.base58base64base64+zstdjsonParsed
Autorizaciones
Cuerpo
La versión del protocolo JSON-RPC.
2.0 "2.0"
Un identificador único para la solicitud.
"1"
El nombre del método RPC que se invocará.
getTokenAccountsByOwnerV2 "getTokenAccountsByOwnerV2"
Parámetros para consultar cuentas de tokens paginadas que pertenecen a una clave pública específica.
Dirección de billetera de Solana (clave pública) del propietario de la cuenta cuyas tenencias de tokens se consultarán, como cadena codificada en base 58.
"A1TMhSGzQxMr1TboBKtgixKz1sS6REASMxPo1qsyTSJd"
Respuesta
Se recuperaron correctamente las cuentas de tokens paginadas por propietario.
La versión del protocolo JSON-RPC.
2.0 "2.0"
Identificador que coincide con la solicitud.
"1"
Cuentas de tokens paginadas cuando withContext es false o se omite. Coincide con la estructura conocida en la que la lista de cuentas es result.value como arreglo (no anidada en accounts).
- sin withContext
- con withContext