Bring back envelope
This commit is contained in:
parent
fba333c791
commit
2dce326310
|
@ -15,15 +15,17 @@ This specification seeks to define a messaging protocol that is flexible enough
|
||||||
|
|
||||||
## Message Structure
|
## Message Structure
|
||||||
|
|
||||||
An ETH 2.0 message consists of a single byte representing the message version followed by the encoded, potentially compressed body. We separate the message's version from the version included in the `libp2p` protocol path in order to allow encoding and compression schemes to be updated independently of the `libp2p` protocols themselves.
|
An ETH 2.0 message consists of an envelope that defines the message's compression, encoding, and length followed by the body itself.
|
||||||
|
|
||||||
It is unlikely that more than 255 message versions will need to be supported, so a single byte should suffice.
|
|
||||||
|
|
||||||
Visually, a message looks like this:
|
Visually, a message looks like this:
|
||||||
|
|
||||||
```
|
```
|
||||||
+--------------------------+
|
+--------------------------+
|
||||||
| version byte |
|
| compression nibble |
|
||||||
|
+--------------------------+
|
||||||
|
| encoding nibble |
|
||||||
|
+--------------------------+
|
||||||
|
| body length (uint64) |
|
||||||
+--------------------------+
|
+--------------------------+
|
||||||
| |
|
| |
|
||||||
| body |
|
| body |
|
||||||
|
@ -31,11 +33,12 @@ Visually, a message looks like this:
|
||||||
+--------------------------+
|
+--------------------------+
|
||||||
```
|
```
|
||||||
|
|
||||||
Clients MUST ignore messages with mal-formed bodies. The `version` byte MUST be one of the below values:
|
Clients MUST ignore messages with mal-formed bodies. The compression/encoding nibbles MUST be one of the following values:
|
||||||
|
|
||||||
## Version Byte Values
|
## Compression Nibble Values
|
||||||
|
|
||||||
### `0x01`
|
- `0x0`: no compression
|
||||||
|
|
||||||
- **Encoding Scheme:** SSZ
|
## Encoding Nibble Values
|
||||||
- **Compression Scheme:** Snappy
|
|
||||||
|
- `0x1`: SSZ
|
||||||
|
|
Loading…
Reference in New Issue