getSignaturesForAddress permite que você recupere uma lista de assinaturas de transações confirmadas que envolvem um endereço de conta específico. Isso é útil para buscar o histórico de transações de uma conta. As assinaturas são retornadas em ordem cronológica inversa (mais recentes primeiro).
Casos de Uso Comuns
- Histórico de Transações da Conta: Mostrar as transações passadas para a carteira de um usuário. Para uma análise mais avançada do histórico de transações, considere usar a Enhanced Transactions API da Helius.
- Auditoria de Atividades: Revisar todas as transações associadas a um contrato inteligente ou conta específico.
- Busca de Transação Específica: Encontrar uma transação específica iterando pelo histórico de uma conta, se apenas o endereço envolvido for conhecido.
- Indexação de Dados: Construir um índice local de transações para consultas e análises mais rápidas.
Parâmetros de Solicitação
address(string): (Obrigatório) A chave pública codificada em base-58 da conta para a qual se deseja recuperar assinaturas de transações.options(object, opcional): Um objeto de configuração opcional com os seguintes campos:limit(number, opcional): O número máximo de assinaturas a retornar. O padrão é 1000, e o máximo permitido é 1000.before(string, opcional): Uma assinatura de transação codificada em base-58. Se fornecida, a consulta começará a buscar transações antes desta assinatura.until(string, opcional): Uma assinatura de transação codificada em base-58. Se fornecida, a consulta buscará transações até que esta assinatura seja alcançada (exclusiva).commitment(string, opcional): Especifica o nível de compromisso a ser usado na consulta. Os valores suportados sãofinalizedouconfirmed. O compromissoprocessednão é suportado. Se omitido, o compromisso padrão do nó RPC é usado (geralmentefinalized).minContextSlot(number, opcional): O slot mínimo em que a solicitação pode ser avaliada. Isto não é um filtro para transações históricas, mas define o slot mínimo para o contexto do nó.
Estrutura de Resposta
O camporesult da resposta JSON-RPC é uma matriz de objetos de informações de assinatura. Cada objeto possui a seguinte estrutura:
signature(string): A assinatura de transação codificada em base-58.slot(u64): O slot em que a transação foi processada.err(object|null): Um objeto de erro se a transação falhou, ounullse tiver sido bem-sucedida.memo(string|null): O memo associado à transação, se houver.blockTime(i64|null): O tempo estimado de produção do bloco contendo a transação, como um timestamp Unix (segundos desde a época).nullse não disponível.confirmationStatus(string|null): O status de confirmação da transação (por exemplo,processed,confirmed,finalized).nullse não disponível (por exemplo, para respostas Helius mais antigas).
Exemplos
1. Obter as Assinaturas Mais Recentes de um Endereço
Este exemplo busca as assinaturas de transação mais recentes (até 1000) para um determinado endereço.2. Obter Assinaturas com um Limite
Este exemplo busca um número especificado de assinaturas de transações recentes para um endereço.3. Paginação pelo Histórico de Transações
Este exemplo demonstra como buscar o histórico de transações em lotes usando o parâmetrobefore.
Dicas para Desenvolvedores
- Paginação: Para obter um histórico completo de transações para uma conta ativa, você provavelmente precisará fazer várias solicitações, usando o parâmetro
beforecom a última assinatura recebida no lote anterior e umlimit. - Limites de Taxa: Esteja atento aos limites de taxa do nó RPC ao buscar históricos extensos de transações.
- Ordem: As assinaturas são sempre retornadas da mais nova para a mais antiga.
- Parâmetro
limit: O parâmetrolimitpode ser entre 1 e 1000. Se não especificado, o padrão é 1000. - Parâmetro
until: Este parâmetro pode ser usado para parar de buscar assinaturas se uma assinatura mais antiga conhecida for alcançada, o que pode ser útil se você só precisar de transações até certo ponto. minContextSlot: Este parâmetro não filtra transações históricas. Ele especifica o slot mínimo que o nó RPC deve usar para seu contexto ao avaliar a solicitação. Se o estado do nó for mais antigo que este slot, ele pode retornar um erro.- Detalhes da Transação: Este método só retorna assinaturas e informações básicas. Para obter detalhes completos da transação, você utilizaria o método
getTransactioncom cada assinatura. - Limitação de Conta de Token: Este método só retorna transações que referenciam diretamente o endereço fornecido. Não inclui transações envolvendo contas de token possuídas pelo endereço. Para um histórico completo de tokens, incluindo contas de token associadas, use
getTransactionsForAddresscom o filtrotokenAccounts.
getSignaturesForAddress com suas opções de paginação, você pode recuperar e gerenciar efetivamente históricos de transações para qualquer endereço Solana.
Métodos Relacionados
getTransactionsForAddress
Filtragem avançada, ordenação e histórico de contas de token
getTransaction
Obter detalhes completos da transação a partir de uma assinatura