Skip to main content
Preconfirmations transmitem transações antes de serem fragmentadas — as preconfirmações Helius ocorrem no instante em que o líder as executa, junto com seu status de execução. Este guia constrói um ouvinte que monitora uma conta alvo, decodifica cada transação e reage usando Sender Max.
Preconfirmations estão disponíveis em todos os planos pagos e custam 10 créditos por mensagem entregue. Slots sem mensagens entregues não custam créditos. Quando um slot entrega pelo menos uma mensagem, cada assinatura tem um mínimo de 300 créditos. Consulte Preços.

Defina o escopo do fluxo antes de se conectar

Um preconfSubscribe sem filtro entrega todas as transações por 10 créditos cada. Aplique filtros no lado do servidor para reduzir a cobrança apenas às transações com as quais você opera. Cada assinatura é cobrada de forma independente quando recebe pelo menos uma mensagem em um slot coberto qualificado. Portanto, sempre que possível, consolide os filtros de conta em uma única assinatura. Use regionInclude para limitar a cobrança às regiões necessárias, defina includeSource: ["helius"] quando não precisar do BAM e monitore os créditos no Painel da Helius.
Três filtros cobrem a maioria dos ouvintes de negociação:
  • failed: false descarta transações já conhecidas por terem revertido, nas quais você não tem razão para competir.
  • regionInclude fixa o fluxo na região mais próxima de sua infraestrutura, para que um salto entre regiões não consuma a vantagem inicial.
  • accountInclude corresponde a qualquer tx que faça referência ao seu alvo: uma carteira, pool AMM, programa, etc. Helius resolve tabelas de pesquisa de endereços no lado do servidor, portanto, o filtro corresponde mesmo quando a conta é carregada por meio de um ALT.

Conectar, inscrever e decodificar

preconfSubscribe é servido do endpoint Gatekeeper (wss://beta.helius-rpc.com), e notificações chegam como quadros binários, não JSON. Cada quadro é um prefixo fixo de 18 bytes seguido pela transação serializada em bincode:
listener.js
Verifique primeiro o byte de versão. Se Helius atualizar o formato da carga, a versão será incrementada, e a ramificação nela mantém seu decodificador funcionando. A transação desserializada fornece as instruções, contas e assinatura.

Agir com Sender Max

Uma pré-confirmação só compensa se sua resposta chegar primeiro. Envie sua reação através do Sender Max: a gorjeta de 0,001 SOL entra no buffer de gorjeta de prioridade e é roteada por todos os caminhos de alta velocidade:
Mantenha este manipulador curto. Decida e envie, e mova o registro, contabilização e reconciliação para fora do caminho de recebimento. Veja Concluir Negociações com Sender para o loop de envio completo, incluindo aquecimento de conexão e estimativa de tarifas.

Confirmar confirmação e esperar lacunas

Uma pré-confirmação é uma visão antecipada. A transação ainda não foi registrada e pode falhar ou ser descartada, então duas regras se aplicam:
  • Confirme através de verificações de compromisso padrão (getSignatureStatuses, ou um fluxo de processed-compromisso) antes de tratar a transação observada ou sua reação como final.
  • Espere lacunas. A cobertura escala com a parcela de encaminhamento de participação para Helius, então alguns slots não geram mensagens. Isso é comportamento esperado em vez de uma conexão morta, e o ping de ativação distingue os dois casos. Reinscreva-se ao fechar.

Guias relacionados

Referência da API preconfSubscribe

Semântica completa de filtros, códigos de região e layout da carga binária

Negociação em Transações Pré-processadas

Cobertura pré-execução a 0,1 créditos por mensagem, em todos os planos pagos