Merge pull request #1457 from status-im/signing-root-reqs
Signing root reqs
This commit is contained in:
commit
26715877c6
|
@ -320,7 +320,7 @@ Here, `result` represents the 1-byte response code.
|
||||||
|
|
||||||
The token of the negotiated protocol ID specifies the type of encoding to be used for the req/resp interaction. Two values are possible at this time:
|
The token of the negotiated protocol ID specifies the type of encoding to be used for the req/resp interaction. Two values are possible at this time:
|
||||||
|
|
||||||
- `ssz`: the contents are [SSZ-encoded](../simple-serialize.md). This encoding type MUST be supported by all clients. For objects containing a single field, only the field is SSZ-encoded not a container with a single field. For example, the `BeaconBlocksByRoot` request is an SSZ-encoded list of `HashTreeRoots`'s.
|
- `ssz`: the contents are [SSZ-encoded](../simple-serialize.md). This encoding type MUST be supported by all clients. For objects containing a single field, only the field is SSZ-encoded not a container with a single field. For example, the `BeaconBlocksByRoot` request is an SSZ-encoded list of `Hash`'s.
|
||||||
- `ssz_snappy`: The contents are SSZ-encoded and then compressed with [Snappy](https://github.com/google/snappy). MAY be supported in the interoperability testnet; MUST be supported in mainnet.
|
- `ssz_snappy`: The contents are SSZ-encoded and then compressed with [Snappy](https://github.com/google/snappy). MAY be supported in the interoperability testnet; MUST be supported in mainnet.
|
||||||
|
|
||||||
#### SSZ-encoding strategy (with or without Snappy)
|
#### SSZ-encoding strategy (with or without Snappy)
|
||||||
|
@ -403,7 +403,7 @@ The response MUST consist of a single `response_chunk`.
|
||||||
Request Content:
|
Request Content:
|
||||||
```
|
```
|
||||||
(
|
(
|
||||||
head_block_root: HashTreeRoot
|
head_block_root: Hash
|
||||||
start_slot: uint64
|
start_slot: uint64
|
||||||
count: uint64
|
count: uint64
|
||||||
step: uint64
|
step: uint64
|
||||||
|
@ -417,7 +417,7 @@ Response Content:
|
||||||
)
|
)
|
||||||
```
|
```
|
||||||
|
|
||||||
Requests count beacon blocks from the peer starting from `start_slot` on the chain defined by `head_block_root`. The response MUST contain no more than count blocks. `step` defines the slot increment between blocks. For example, requesting blocks starting at `start_slot` 2 with a step value of 2 would return the blocks at [2, 4, 6, …]. In cases where a slot is empty for a given slot number, no block is returned. For example, if slot 4 were empty in the previous example, the returned array would contain [2, 6, …]. A step value of 1 returns all blocks on the range `[start_slot, start_slot + count)`.
|
Requests count beacon blocks from the peer starting from `start_slot` on the chain defined by `head_block_root` (= `signing_root(BeaconBlock)`). The response MUST contain no more than count blocks. `step` defines the slot increment between blocks. For example, requesting blocks starting at `start_slot` 2 with a step value of 2 would return the blocks at [2, 4, 6, …]. In cases where a slot is empty for a given slot number, no block is returned. For example, if slot 4 were empty in the previous example, the returned array would contain [2, 6, …]. A step value of 1 returns all blocks on the range `[start_slot, start_slot + count)`.
|
||||||
|
|
||||||
The request MUST be encoded as an SSZ-container.
|
The request MUST be encoded as an SSZ-container.
|
||||||
|
|
||||||
|
@ -441,7 +441,7 @@ Request Content:
|
||||||
|
|
||||||
```
|
```
|
||||||
(
|
(
|
||||||
[]HashTreeRoot
|
[]Hash
|
||||||
)
|
)
|
||||||
```
|
```
|
||||||
|
|
||||||
|
@ -453,7 +453,7 @@ Response Content:
|
||||||
)
|
)
|
||||||
```
|
```
|
||||||
|
|
||||||
Requests blocks by their block roots. The response is a list of `BeaconBlock` whose length is less than or equal to the number of requested blocks. It may be less in the case that the responding peer is missing blocks.
|
Requests blocks by block root (= `signing_root(BeaconBlock)`). The response is a list of `BeaconBlock` whose length is less than or equal to the number of requested blocks. It may be less in the case that the responding peer is missing blocks.
|
||||||
|
|
||||||
`BeaconBlocksByRoot` is primarily used to recover recent blocks (e.g. when receiving a block or attestation whose parent is unknown).
|
`BeaconBlocksByRoot` is primarily used to recover recent blocks (e.g. when receiving a block or attestation whose parent is unknown).
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue