🧩 Decoded Shred Stream
Un Decoded Shred Stream entrega transacciones Solana ya reconstruidas: deshreddeadas y reensambladas en nuestros nodos, y enviadas a tu servidor en el formato wire estándar de Solana. Sin pipeline FEC/Merkle/deshredding de tu lado: las transacciones llegan listas para tu parser, con latencia submilisegundo.
🧭 Para quién es
Elige Decoded Shred Stream si:
- Ya tienes un parser de transacciones. El payload es una transacción en formato wire estándar (una
VersionedTransactionserializada con bincode). - Quieres ingesta en formato estándar sin infraestructura de shreds. La recuperación de borrado (FEC), la verificación Merkle y el deshredding se hacen en el nodo por ti — no queda nada específico de shreds que construir o mantener.
- Necesitas datos pre-confirmación con un esfuerzo de integración mínimo. Las transacciones se reconstruyen a partir de los shreds antes de la confirmación del bloque, así que conservas la ventaja temporal del flujo de shreds con una fracción de la ingeniería.
⚖️ Posicionamiento: shreds en bruto vs decoded
ShredStream.com ofrece dos productos sobre el mismo eje — cuánta decodificación se hace por ti:
| Producto | Recibes | Construyes | Entrega |
|---|---|---|---|
| Raw Shred Stream | Shreds Turbine en bruto | Deshredding + parsing + interpretación | UDP |
| Decoded Shred Stream | Transacciones en formato wire | Parsing + interpretación | UDP o gRPC |
- Elige el Raw Shred Stream para tener control a nivel de byte sobre todo, incluida la reconstrucción.
- Elige Decoded Shred Stream para saltarte la reconstrucción pero mantener tu propio parsing de transacciones.
🚀 Latencia
El deshredding ocurre en el nodo, directamente desde los shreds — no en un servicio aguas abajo. La transacción reconstruida sale del nodo a microsegundos del propio flujo de shreds en bruto. No cedes prácticamente nada en latencia y ganas un payload estándar, listo para tu parser.
📡 Modos de entrega
- UDP — las transacciones se envían como datagramas a la IP y el puerto que configures, cada una precedida por un header binario compacto (16 bytes) y el slot de 8 bytes — la transacción empieza en el byte 24. Consulta Recibir transacciones decodificadas.
- gRPC — un stream saliente, orientado a conexión, con filtrado por cuentas del lado del servidor y entrega ordenada, sobre las mismas transacciones con latencia submilisegundo. Consulta Entrega gRPC.
🧰 Clientes oficiales
Un paquete por lenguaje, que cubre ambos modos de entrega con la misma API — escucha en el puerto (UDP) o conéctate con tu endpoint y tu token (gRPC), y luego itera las transacciones con su slot y sus firmas. Reconexión, nuevo envío de los filtros y detección de saltos de seq: todo se gestiona por ti.
| Lenguaje | Instalación | Paquete |
|---|---|---|
| JavaScript / TypeScript | npm install decoded-shredstream | npm |
| Python | pip install decoded-shredstream | PyPI |
| Rust | cargo add decoded-shredstream | crates.io |
| Go | go get github.com/shredstream/decoded-shredstream-go | GitHub |
Antes de la ejecución. Estas transacciones se capturan a partir de los shreds, antes de que el bloque se ejecute: no llevan estado, logs, cambios de balance ni inner instructions, y algunas fallarán on-chain. Usa una fuente post-ejecución cuando necesites confirmación.
📖 En esta sección
- Recibir transacciones decodificadas — el sobre UDP, los offsets, la detección de pérdidas y un decodificador mínimo.
- Entrega gRPC — endpoint, token en los metadatos, filtros por cuentas y deserialización de
VersionedTransaction.