forked from anza-xyz/alpenglow
-
Notifications
You must be signed in to change notification settings - Fork 0
Open
Labels
Description
The existing shred layout looks like:
Offset | Size (bytes) | Field | Description |
---|---|---|---|
0 | 64 | signature | Ed25519 signature |
64 | 1 | shred_variant | Variant byte (0b10??_????) for MerkleData |
65 | 8 | slot | Slot number (u64, little-endian) |
73 | 4 | index | Shred index (u32, little-endian) |
77 | 2 | version | Shred version (u16, little-endian) |
79 | 4 | fec_set_index | FEC set index (u32, little-endian) |
83 | 2 | parent_offset | Parent slot offset (u16, little-endian) |
85 | 1 | flags | ShredFlags bitfield |
86 | 2 | size | Total size of headers + data (u16, little-endian) |
88 | variable | data | Actual ledger entry data |
... | 32 (optional) | chained_merkle_root | Previous batch’s Merkle root (if chained) |
... | variable | merkle_proof | Merkle proof entries (proof_size × 20 bytes) |
... | 64 (optional) | retransmitter_signature | Retransmitter signature (if resigned) |
Offset | Size (bytes) | Field | Description |
---|---|---|---|
0 | 64 | signature | Ed25519 signature |
64 | 1 | shred_variant | Variant byte (0b01??_????) for MerkleCode |
65 | 8 | slot | Slot number (u64, little-endian) |
73 | 4 | index | Shred index (u32, little-endian) |
77 | 2 | version | Shred version (u16, little-endian) |
79 | 4 | fec_set_index | FEC set index (u32, little-endian) |
83 | 2 | num_data_shreds | Number of data shreds in FEC set (u16, little-endian) |
85 | 2 | num_coding_shreds | Number of coding shreds in FEC set (u16, little-endian) |
87 | 2 | position | Position within coding shreds (u16, little-endian) |
89 | variable | erasure_coded_data | Erasure-coded shard data |
... | 32 (optional) | chained_merkle_root | Previous batch’s Merkle root (if chained) |
... | variable | merkle_proof | Merkle proof entries (proof_size × 20 bytes) |
... | 64 (optional) | retransmitter_signature | Retransmitter signature (if resigned) |
We need to add a proposer identifier to the shreds since we now have multiple proposers per slot