mirror of
https://github.com/sigp/lighthouse.git
synced 2026-03-02 16:21:42 +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))?;
|
||||
let anchor_block = SignedBeaconBlock::from_ssz_bytes(&anchor_block_bytes, &spec)
|
||||
.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 anchor_blobs_bytes = anchor_blobs_bytes
|
||||
.ok_or("Blobs for checkpoint must be provided using --checkpoint-blobs")?;
|
||||
@@ -409,7 +415,11 @@ where
|
||||
|
||||
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");
|
||||
if let Some(response) = remote
|
||||
.get_blob_sidecars::<E>(BlockId::Root(block_root), None, &spec)
|
||||
|
||||
Reference in New Issue
Block a user