đŹ Paketformat
Diese Referenz ist nur fĂŒr Custom-Receiver gedacht. Unser Shred-Format ist auf ShredStream.com zugeschnitten â es passt nicht zu dem, was Standard-Solana-Tooling erwartet. Das SDK kapselt all das fĂŒr Sie. Lesen Sie diese Seite nur, wenn Sie einen Custom-UDP-Receiver ohne unser SDK implementieren. Siehe Warum das SDK nutzen und den SDK-Schnellstart.
đ Ăberblick
Jedes von ShredStream.com gelieferte UDP-Paket ist genau 1203 Bytes groĂ und enthĂ€lt einen einzelnen Legacy-Data-Shred (Variant 0xA5). ShredStream.com liefert ausschlieĂlich Data-Shreds -- keine FEC- oder Coding-Shreds sind im Stream enthalten.
Jeder shred enthÀlt einen Teil der Entry-Daten eines Solana-Slots. Shreds treffen mit sequenziellen Indizes innerhalb jedes slots ein, beginnend bei 0. Um die vollstÀndigen Block-Daten eines slots zu rekonstruieren, sammeln Sie alle zugehörigen shreds, ordnen sie nach Index und verketten die payloads.
đ Offset-Tabelle
| Offset | GröĂe | Feld | Typ | Beschreibung |
|---|---|---|---|---|
0x00 | 64 | Signature | bytes | 64 Null-Bytes. ShredStream.com signiert shreds nicht; dieses Feld nicht verifizieren |
0x40 | 1 | Shred Variant | u8 | Immer 0xA5 (Legacy-Data-Shred) |
0x41 | 8 | Slot | u64 LE | Slot-Nummer, zu der dieser shred gehört |
0x49 | 4 | Index | u32 LE | Shred-Index innerhalb des slots (sequenziell) |
0x4D | 2 | Version | u16 LE | Immer 0 â wird von ShredStream.com nicht verwendet |
0x4F | 4 | FEC Set Index | u32 LE | Immer 0 â wird von ShredStream.com nicht verwendet |
0x53 | 2 | Parent Offset | u16 LE | Immer 0 â wird von ShredStream.com nicht verwendet |
0x55 | 1 | Flags | u8 | Grenz-Flag: DATA_COMPLETE = 0x40 |
0x56 | 2 | Size | u16 LE | Gesamte NutzgröĂe (Header + Payload). Payload = data[0x58..size] |
0x58 | variabel | Payload | bytes | Eigentliche Entry-Daten |
| nach payload | variabel | Zero-Padding | bytes | Ungenutzte Bytes (Nullen) vom Ende des payloads bis Byte 1203 |
đ Konstanten
| Konstante | Wert | Hinweise |
|---|---|---|
SHRED_MAX_SIZE | 1203 Bytes | Feste GröĂe jedes UDP-Pakets |
DATA_HEADER_SIZE | 88 Bytes (0x58) | Gesamte Header-GröĂe vor dem payload |
MAX_PAYLOAD_SIZE | 1035 Bytes | Maximaler payload pro shred (80 Bytes reserviert fĂŒr Solana-Wire-Format-KompatibilitĂ€t) |
đ© Flags-Byte
Das Flags-Byte an Offset 0x55 markiert Entry-Batch-Grenzen:
| Flag | Wert | Bedeutung |
|---|---|---|
DATA_COMPLETE | 0x40 | Dies ist der letzte Data-Shred im aktuellen Entry-Batch |
â ïž Wichtige Hinweise
- Nur Data-Shreds. ShredStream.com liefert Legacy-Data-Shreds (Variant
0xA5). Sie erhalten keine FEC-/Coding-Shreds. - Sequenzielle Indizes. Innerhalb jedes slots beginnen Shred-Indizes bei 0 und steigen sequenziell an. Ein fehlender Index bedeutet, dass ein shred bei der Ăbertragung verloren ging.
- Payload-GröĂe. Das Size-Feld zeigt das Ende der Nutzdaten an. Payload-Bytes befinden sich in data[0x58..size]. Bytes jenseits des Size-Offsets sind Zero-Padding.