Descripción general
Las transacciones preprocesadas son transacciones de Solana previas a la ejecución que se entregan antes de que alcancen el nivel de compromisoprocessed. Helius agrega varias fuentes previas a la ejecución —principalmente shreds decodificados directamente a medida que llegan al validador, complementados con señales de preconfirmación— y las entrega como un único flujo sin duplicados, sin que tengas que recibir paquetes de shreds sin procesar ni operar infraestructura para reconstruirlos.
Las transacciones procedentes de señales de preconfirmación llegan más tarde a este feed que al producto específico Preconfirmations, que sigue proporcionando el acceso más temprano a ellas.
Puedes consumir las transacciones preprocesadas mediante el método WebSocket preprocessedSubscribe (beta pública), disponible en todos los planes de pago por 0.1 créditos por mensaje.
preprocessedSubscribe (WSS)
La forma recomendada de transmitir transacciones preprocesadas: filtrado de cuentas, cargas útiles binarias compactas y compatibilidad con todos los planes de pago.
Dónde se ubican las transacciones preprocesadas en el ciclo de vida
En la arquitectura de Solana, las transacciones pasan por varias etapas antes de quedar completamente procesadas:- Recepción de shreds → El validador recibe los shreds de la transacción (fragmentos de datos). ← Los shreds sin procesar (UDP) se entregan aquí.
- Decodificación de shreds → Los shreds se decodifican para obtener transacciones sin procesar. ← Las transacciones preprocesadas se entregan principalmente aquí.
- Ejecución de la transacción → El entorno de ejecución ejecuta la transacción.
- Generación de metadatos → Se calculan los saldos previos y posteriores, los registros y la información de errores.
- Compromiso → La transacción alcanza el estado processed/confirmed/finalized. ← LaserStream gRPC y LaserStream WebSocket realizan la entrega aquí.
¿Qué datos están disponibles?
Las transacciones preprocesadas incluyen la transacción firmada completa, pero no incluyen metadatos de ejecución:Datos disponibles
- ✅ Firma de la transacción - Identificador único de la transacción
- ✅ Claves de las cuentas - Todas las cuentas a las que hace referencia la transacción
- ✅ Instrucciones - Datos completos de las instrucciones y llamadas a programas
- ✅ Blockhash reciente - Referencia de vencimiento de la transacción
- ✅ Firmas - Todas las firmas de la transacción
- ✅ Número de slot - Slot en el que se observó la transacción
Datos no disponibles
- ❌ Metadatos de la transacción - Cambios en los saldos de tokens, saldos previos y posteriores, estado de la transacción
- ❌ Errores de la transacción - No podemos determinar si la transacción falló
- ❌ Instrucciones internas - No se incluyen las invocaciones entre programas (CPI)
- ❌ Mensajes de registro - Los registros de los programas se generan durante la ejecución
- ❌ Unidades de cómputo consumidas - Las métricas de ejecución no están disponibles
Garantías de entrega
La entrega se realiza con el mejor esfuerzo, no está garantizada y no existe reproducción histórica. Una transacción transmitida es una señal previa a la ejecución, no un nivel de compromiso: puede fallar, descartarse o incluirse en una bifurcación diferente. Elimina los duplicados mediante la firma y compáralos con un flujo processed o confirmed cuando los resultados de la ejecución sean importantes. Para aplicaciones críticas que requieran entrega garantizada y datos completos, usa LaserStream gRPC en su lugar.Cuándo usar transacciones preprocesadas
Aplicaciones sensibles a la latencia que necesitan transacciones decodificadas y previas a la ejecución sin operar un decodificador de shreds:- propAMMs
- Bots francotiradores
- Operadores de copy trading
- Bots de liquidación
- Arbitraje
Precios
preprocessedSubscribe está disponible en todos los planes de pago y tiene un costo de 0.1 créditos por mensaje: un mensaje por cada transacción entregada. Consulta Créditos para obtener más información.
Preguntas frecuentes
Can you update preprocessed subscription filters live?
Can you update preprocessed subscription filters live?
No, el filtro queda fijado por el
preprocessedSubscribe inicial. Para evitar una interrupción, te recomendamos abrir una segunda conexión con el filtro nuevo, esperar la confirmación de su suscripción y luego cambiar tu servicio al filtro nuevo.Is the preprocessedSubscribe concurrent subscription limit per API key or account?
Is the preprocessedSubscribe concurrent subscription limit per API key or account?
El límite de 10 conexiones simultáneas se aplica por clave de API. Cada clave de API de un proyecto tiene su propio límite de 10 conexiones.
Próximos pasos
Subscribe with preprocessedSubscribe
Endpoint, filtrado de cuentas, estructura de la carga útil binaria y ejemplos de código.
Preconfirmations
Transacciones transmitidas antes de que se conviertan en shreds: la señal de transacción más temprana.
Raw Shreds (UDP)
Paquetes de shreds sin procesar mediante UDP. Tú implementas su reconstrucción.
Helius Sender
Actúa según lo que ves con la inclusión de transacciones más rápida.