getSignaturesForAddress te permite recuperar una lista de firmas de transacciones confirmadas que involucran una dirección de cuenta específica. Esto resulta útil para obtener el historial de transacciones de una cuenta. Las firmas se devuelven en orden cronológico inverso (primero las más recientes).
Casos de uso comunes
- Historial de transacciones de una cuenta: Muestra las transacciones anteriores de la billetera de un usuario. Para un análisis más avanzado del historial de transacciones, considera usar la API de transacciones mejoradas de Helius.
- Auditoría de actividad: Revisa todas las transacciones asociadas con un contrato inteligente o una cuenta específicos.
- Búsqueda de una transacción específica: Busca una transacción específica recorriendo el historial de una cuenta si solo se conoce la dirección involucrada.
- Indexación de datos: Crea un índice local de transacciones para agilizar las consultas y el análisis.
Parámetros de la solicitud
address(string): (Obligatorio) La clave pública codificada en base 58 de la cuenta cuyas firmas de transacciones se recuperarán.options(object, opcional): Un objeto de configuración opcional con los siguientes campos:limit(number, opcional): El número máximo de firmas que se devolverán. El valor predeterminado es 1000 y el máximo permitido es 1000.before(string, opcional): Una firma de transacción codificada en base 58. Si se proporciona, la consulta comenzará a buscar transacciones anteriores a esta firma.until(string, opcional): Una firma de transacción codificada en base 58. Si se proporciona, la consulta buscará transacciones hasta llegar a esta firma, sin incluirla.commitment(string, opcional): Especifica el nivel de compromiso que se usará en la consulta. Los valores admitidos sonfinalizedoconfirmed. No se admite el compromisoprocessed. Si se omite, se usa el compromiso predeterminado del nodo RPC (normalmentefinalized).minContextSlot(number, opcional): El slot mínimo en el que se puede evaluar la solicitud. No es un filtro de transacciones históricas, sino que establece el slot mínimo para el contexto del nodo.
Estructura de la respuesta
El camporesult de la respuesta JSON-RPC es un arreglo de objetos con información de las firmas. Cada objeto tiene la siguiente estructura:
signature(string): La firma de la transacción codificada en base 58.slot(u64): El slot en el que se procesó la transacción.err(object|null): Un objeto de error si la transacción falló, onullsi se realizó correctamente.memo(string|null): La nota asociada con la transacción, si existe.blockTime(i64|null): El tiempo estimado de producción del bloque que contiene la transacción, como marca de tiempo Unix (segundos desde la época).nullsi no está disponible.confirmationStatus(string|null): El estado de confirmación de la transacción (por ejemplo,processed,confirmed,finalized).nullsi no está disponible (por ejemplo, en respuestas antiguas de Helius).
Ejemplos
1. Obtén las firmas más recientes de una dirección
Este ejemplo obtiene las firmas de transacciones más recientes (hasta 1000) de una dirección determinada.2. Obtén firmas con un límite
Este ejemplo obtiene un número específico de firmas de transacciones recientes de una dirección.3. Pagina el historial de transacciones
Este ejemplo muestra cómo obtener el historial de transacciones en lotes mediante el parámetrobefore.
Consejos para desarrolladores
- Paginación: Para obtener el historial de transacciones completo de una cuenta activa, probablemente necesites realizar varias solicitudes. Usa el parámetro
beforecon la última firma recibida en el lote anterior y un valorlimit. - Límites de solicitudes: Ten en cuenta los límites de solicitudes del nodo RPC cuando obtengas historiales de transacciones extensos.
- Orden: Las firmas siempre se devuelven desde la más reciente hasta la más antigua.
- Parámetro
limit: El parámetrolimitpuede tener un valor entre 1 y 1000. Si no se especifica, su valor predeterminado es 1000. - Parámetro
until: Este parámetro puede usarse para dejar de obtener firmas al llegar a una firma antigua conocida. Puede ser útil si solo necesitas las transacciones hasta un punto determinado. minContextSlot: Este parámetro no filtra las transacciones históricas. Especifica el slot mínimo que el nodo RPC debe usar como contexto al evaluar la solicitud. Si el estado del nodo es anterior a este slot, puede devolver un error.- Detalles de la transacción: Este método solo devuelve firmas e información básica. Para obtener todos los detalles de una transacción, usa el método
getTransactioncon cada firma. - Limitación de cuentas de tokens: Este método solo devuelve transacciones que hacen referencia directa a la dirección proporcionada. No incluye transacciones que involucran cuentas de tokens propiedad de la dirección. Para obtener un historial completo de tokens, incluidas las cuentas de tokens asociadas, usa
getTransactionsForAddresscon el filtrotokenAccounts.
getSignaturesForAddress con sus opciones de paginación, puedes recuperar y administrar eficazmente los historiales de transacciones de cualquier dirección de Solana.
Métodos relacionados
getTransactionsForAddress
Filtrado y ordenamiento avanzados, e historial de cuentas de tokens
getTransaction
Obtén todos los detalles de una transacción a partir de una firma