🔬 Format des paquets

Cette rĂ©fĂ©rence est rĂ©servĂ©e aux rĂ©cepteurs custom. Notre format de shred est propre Ă  ShredStream.com — il ne correspond pas Ă  ce qu'attend l'outillage Solana standard. Le SDK encapsule tout cela pour vous. Ne lisez cette page que si vous implĂ©mentez un rĂ©cepteur UDP custom sans notre SDK. Voir Pourquoi utiliser le SDK et DĂ©marrage rapide SDK.

📖 Aperçu

Chaque paquet UDP livré par ShredStream.com fait exactement 1203 octets et contient un seul legacy data shred (variante 0xA5). ShredStream.com ne livre que des data shreds -- aucun shred FEC ou de codage n'est inclus dans le flux.

Chaque shred transporte une portion des données d'entrée d'un slot Solana. Les shreds arrivent avec des index séquentiels au sein de chaque slot, en commençant par 0. Pour reconstruire l'intégralité des données d'un bloc pour un slot donné, collectez tous ses shreds, ordonnez-les par index et concaténez les payloads.

📐 Table des offsets

OffsetTailleChampTypeDescription
0x0064Signaturebytes64 octets de zéros. ShredStream.com ne signe pas les shreds ; ne vérifiez pas ce champ
0x401Shred Variantu8Toujours 0xA5 (legacy data shred)
0x418Slotu64 LENuméro du slot auquel ce shred appartient
0x494Indexu32 LEIndex du shred au sein du slot (séquentiel)
0x4D2Versionu16 LEToujours 0 — non utilisĂ© par ShredStream.com
0x4F4FEC Set Indexu32 LEToujours 0 — non utilisĂ© par ShredStream.com
0x532Parent Offsetu16 LEToujours 0 — non utilisĂ© par ShredStream.com
0x551Flagsu8Flag de frontiĂšre : DATA_COMPLETE = 0x40
0x562Sizeu16 LETaille utile totale (en-tĂȘte + payload). Payload = data[0x58..size]
0x58variablePayloadbytesDonnées d'entrée effectives
aprÚs le payloadvariableZero-paddingbytesOctets inutilisés (zéros) de la fin du payload à l'octet 1203

📏 Constantes

ConstanteValeurNotes
SHRED_MAX_SIZE1203 octetsTaille fixe de chaque paquet UDP
DATA_HEADER_SIZE88 octets (0x58)Taille totale de l'en-tĂȘte avant le payload
MAX_PAYLOAD_SIZE1035 octetsPayload maximum par shred (80 octets réservés pour la compatibilité Solana)

đŸš© Octet de flags

L'octet de flags à l'offset 0x55 marque les frontiÚres de lots d'entrées :

FlagValeurSignification
DATA_COMPLETE0x40Il s'agit du dernier data shred du lot d'entrées en cours

⚠ Notes importantes

  • Data shreds uniquement. ShredStream.com livre des legacy data shreds (variante 0xA5). Vous ne recevrez pas de shreds FEC/codage.
  • Index sĂ©quentiels. Au sein de chaque slot, les index de shred commencent Ă  0 et s'incrĂ©mentent de maniĂšre sĂ©quentielle. Un index manquant signifie qu'un shred a Ă©tĂ© perdu en transit.
  • Taille du payload. Le champ Size indique la fin des donnĂ©es utiles. Les octets de payload se trouvent Ă  data[0x58..size]. Les octets au-delĂ  de l'offset size sont du zero-padding.
Format des paquets — Documentations | ShredStream.com