From 5ac70527d67bec1014ad3a5e6bc4059f210f67be Mon Sep 17 00:00:00 2001 From: dapplion <35266934+dapplion@users.noreply.github.com> Date: Mon, 15 Jul 2024 17:36:50 +0200 Subject: [PATCH] Add BeaconBlocksByRange v3 --- specs/electra/p2p-interface.md | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) diff --git a/specs/electra/p2p-interface.md b/specs/electra/p2p-interface.md index ebdcaaa831..ba0b280a60 100644 --- a/specs/electra/p2p-interface.md +++ b/specs/electra/p2p-interface.md @@ -57,3 +57,33 @@ The following convenience variables are re-defined The following validations are added: * [REJECT] `len(committee_indices) == 1`, where `committee_indices = get_committee_indices(attestation)`. * [REJECT] `attestation.data.index == 0` + +## The Req/Resp domain + +### Messages + +#### BeaconBlocksByRange v3 + +**Protocol ID:** `/eth2/beacon_chain/req/beacon_blocks_by_range/3/` + +Request Content: +``` +( + block_root: Root + start_slot: Slot + count: uint64 +) +``` + +Response Content: +``` +( + List[SignedBeaconBlock, MAX_REQUEST_BLOCKS] +) +``` + +Extends behaviour of BeaconBlocksByRange v2 as defined in [the altair p2p spec](../altair/p2p-interface.md). + +Requests beacon blocks in the slot range `[start_slot, start_slot + count)`, leading up to `block_root`. If the block with `block_root` is unknown the responder MUST respond with `3: ResourceUnavailable`. If the slot of the block with `block_root` is less than `start_slot` the responder MUST respond with `1: InvalidRequest`. + +