Skip to main content
El método RPC 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).
Para obtener funciones avanzadas de filtrado y ordenamiento, además del historial de cuentas de tokens, usa getTransactionsForAddress. Ten en cuenta que getSignaturesForAddress no incluye las transacciones que involucran cuentas de tokens asociadas.

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

  1. address (string): (Obligatorio) La clave pública codificada en base 58 de la cuenta cuyas firmas de transacciones se recuperarán.
  2. 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 son finalized o confirmed. No se admite el compromiso processed. Si se omite, se usa el compromiso predeterminado del nodo RPC (normalmente finalized).
    • 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.
No se admite el procesamiento por lotesEste método de archivo no admite el procesamiento por lotes. Realiza únicamente solicitudes individuales.

Estructura de la respuesta

El campo result 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ó, o null si 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). null si no está disponible.
  • confirmationStatus (string | null): El estado de confirmación de la transacción (por ejemplo, processed, confirmed, finalized). null si 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ámetro before.

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 before con la última firma recibida en el lote anterior y un valor limit.
  • 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ámetro limit puede 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 getTransaction con 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 getTransactionsForAddress con el filtro tokenAccounts.
Al usar 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