preprocessedSubscribe transmite transacciones firmadas antes de que alcancen el nivel de compromiso processed. Las decodifica a partir de los shreds a medida que llegan al validador, sin que necesites infraestructura para reconstruirlos.
Esta guía crea un monitor que observa un programa de trading antes de la ejecución, elimina duplicados del flujo, se mantiene por debajo del límite de contrapresión del servidor y coteja los datos procesados antes de actuar.
Limita la suscripción a tu objetivo
No existe un flujo sin filtros:accountInclude e accountRequired deben especificar al menos una cuenta entre ambos. Para un monitor de trading, incluye el programa con el que operas y excluye el ruido por el que, de otro modo, pagarías:
accountRequired.
Decodifica las tramas y elimina duplicados por firma
Las notificaciones llegan como tramas binarias: un prefijo de 73 bytes seguido de la transacción serializada con bincode. La firma está en el prefijo, por lo que puedes eliminar duplicados sin decodificar el cuerpo. El flujo agrega varias fuentes previas a la ejecución, y la misma transacción puede llegar más de una vez:monitor.js
Mantén el bucle de recepción más rápido que el flujo
Helius no almacena datos indefinidamente en búfer para consumidores lentos: si se acumulan más de 4,000 mensajes en el servidor, la conexión se cierra. Por eso, el controlador anterior solo lee el prefijo de 73 bytes y lo agrega a la cola. La deserialización y la lógica de la estrategia se ejecutan en un bucle separado:Coteja con los datos procesados
Una transacción preprocesada muestra lo que el remitente intentó hacer, no lo que ocurrió. No incluye el estado de ejecución, los cambios de saldo ni los registros, y puede fallar, descartarse o incluirse en una bifurcación diferente. La entrega se realiza con el mejor esfuerzo y no incluye reproducción histórica, por lo que debes hacer lo siguiente:- Coteja con
transactionSubscribeen el nivel de compromisoprocessedoconfirmedantes de que tu estrategia registre algo como un hecho. - Si se desconecta, vuelve a suscribirte de inmediato y acepta el vacío, ya que no hay reproducción para rellenarlo.
- Si necesitas el estado de una cuenta en tiempo real en lugar de intenciones de transacción, solo está disponible después de la ejecución: usa LaserStream gRPC en
processed.
Guías relacionadas
preprocessedSubscribe reference
Diseño completo del payload, reglas de filtrado, contrapresión y precios
Trade on Preconfirmations
La señal de transacción más temprana que ofrece Helius, directamente desde el planificador