Skip to main content
O método RPC getFeeForMessage permite estimar a taxa que a rede cobrará pelo processamento de uma determinada mensagem de transação. Isso é útil para entender os custos de transação antes de serem submetidos à rede. Nota de Versão: Este método está disponível na solana-core v1.9 ou mais recente. Para versões anteriores, considere usar getFees.

Casos de Uso Comuns

  • Estimativa de Taxa: Determine a provável taxa de transação (em lamports) para uma mensagem específica.
  • Otimização de Custos: Analise taxas para diferentes estruturas de transação ou em diferentes momentos.
  • Exibição na Interface do Usuário: Mostre aos usuários um custo estimado de transação antes de assinarem e enviarem uma transação.

Parâmetros de Solicitação

  1. message (string, obrigatório): A mensagem da transação, codificada em base64. Você pode obter isso compilando uma transação.
  2. config (objeto, opcional): Um objeto de configuração com os seguintes campos:
    • commitment (string, opcional): Especifica o nível de compromisso a ser usado. O padrão é finalized.
    • minContextSlot (número, opcional): O slot mínimo no qual a solicitação pode ser avaliada.

Estrutura da Resposta

O campo result da resposta JSON-RPC é um objeto com a seguinte estrutura:
  • context (objeto):
    • slot (u64): O slot no qual a taxa foi avaliada.
  • value (u64 | null): A taxa estimada em lamports. Isso pode ser null se a taxa não puder ser determinada (por exemplo, se o blockhash usado na mensagem for muito antigo ou inválido).

Exemplos

1. Estimar Taxa para uma Mensagem de Transferência Simples

Este exemplo demonstra como construir uma transferência simples, compilar sua mensagem e, em seguida, obter a taxa estimada.

Dicas para Desenvolvedores

  • Construção de Mensagem: A chave para usar getFeeForMessage é construir e serializar corretamente a transação Message. Isso envolve definir o pagador da taxa, instruções e um blockhash recente.
  • Blockhash Recente: A mensagem deve ser construída com um blockhash recente. Se o blockhash for muito antigo, o value na resposta pode ser null.
  • Taxa vs. Taxa de Prioridade: Este método retorna a taxa base da rede. Não inclui taxas de prioridade adicionais que você possa adicionar a uma transação para aumentar sua probabilidade de ser processada rapidamente durante períodos de congestão na rede. Use getRecentPrioritizationFees para estimar taxas de prioridade.
  • Lamports: A taxa é retornada em lamports (1 SOL = 1.000.000.000 lamports).
  • Valor Nulo: Um valor null para a taxa pode indicar problemas com a mensagem (por exemplo, blockhash inválido, mensagem malformada) ou que o nó não pode calcular uma taxa para ela no nível de compromisso ou slot especificado.
Este guia fornece as etapas necessárias para utilizar o método RPC getFeeForMessage para estimar taxas de transação na rede Solana.

Métodos Relacionados

getLatestBlockhash

Obtenha um blockhash recente para construir mensagens

getRecentPrioritizationFees

Estime taxas de prioridade para processamento mais rápido