mirror of
https://github.com/sigp/lighthouse.git
synced 2026-05-08 01:05:47 +00:00
Do not require blobs from checkpoint servers from Fulu epochs. (#8413)
Addressed this comment here: https://github.com/sigp/lighthouse/issues/6837#issuecomment-3509209465 Lighthouse can only checkpoint sync from a server that can serve blob sidecars, which means they need to be at least custdoying 50% of columns (semi-supernodes) This PR lifts this constraint, as blob sidecar endpoint is getting deprecated in Fulu, and we plan to fetch the checkpoint data columns from peers (#6837) Co-Authored-By: Jimmy Chen <jchen.tc@gmail.com>
This commit is contained in:
@@ -345,7 +345,13 @@ where
|
|||||||
.map_err(|e| format!("Unable to parse weak subj state SSZ: {:?}", e))?;
|
.map_err(|e| format!("Unable to parse weak subj state SSZ: {:?}", e))?;
|
||||||
let anchor_block = SignedBeaconBlock::from_ssz_bytes(&anchor_block_bytes, &spec)
|
let anchor_block = SignedBeaconBlock::from_ssz_bytes(&anchor_block_bytes, &spec)
|
||||||
.map_err(|e| format!("Unable to parse weak subj block SSZ: {:?}", e))?;
|
.map_err(|e| format!("Unable to parse weak subj block SSZ: {:?}", e))?;
|
||||||
let anchor_blobs = if anchor_block.message().body().has_blobs() {
|
|
||||||
|
// `BlobSidecar` is no longer used from Fulu onwards (superseded by `DataColumnSidecar`),
|
||||||
|
// which will be fetched via rpc instead (unimplemented).
|
||||||
|
let is_before_fulu = !spec
|
||||||
|
.fork_name_at_slot::<E>(anchor_block.slot())
|
||||||
|
.fulu_enabled();
|
||||||
|
let anchor_blobs = if is_before_fulu && anchor_block.message().body().has_blobs() {
|
||||||
let max_blobs_len = spec.max_blobs_per_block(anchor_block.epoch()) as usize;
|
let max_blobs_len = spec.max_blobs_per_block(anchor_block.epoch()) as usize;
|
||||||
let anchor_blobs_bytes = anchor_blobs_bytes
|
let anchor_blobs_bytes = anchor_blobs_bytes
|
||||||
.ok_or("Blobs for checkpoint must be provided using --checkpoint-blobs")?;
|
.ok_or("Blobs for checkpoint must be provided using --checkpoint-blobs")?;
|
||||||
@@ -409,7 +415,11 @@ where
|
|||||||
|
|
||||||
debug!("Downloaded finalized block");
|
debug!("Downloaded finalized block");
|
||||||
|
|
||||||
let blobs = if block.message().body().has_blobs() {
|
// `get_blob_sidecars` API is deprecated from Fulu and may not be supported by all servers
|
||||||
|
let is_before_fulu = !spec
|
||||||
|
.fork_name_at_slot::<E>(finalized_block_slot)
|
||||||
|
.fulu_enabled();
|
||||||
|
let blobs = if is_before_fulu && block.message().body().has_blobs() {
|
||||||
debug!("Downloading finalized blobs");
|
debug!("Downloading finalized blobs");
|
||||||
if let Some(response) = remote
|
if let Some(response) = remote
|
||||||
.get_blob_sidecars::<E>(BlockId::Root(block_root), None, &spec)
|
.get_blob_sidecars::<E>(BlockId::Root(block_root), None, &spec)
|
||||||
|
|||||||
Reference in New Issue
Block a user