Skip to content

adopt columns into the BN, except column syncing #6945

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 171 commits into
base: unstable
Choose a base branch
from

Conversation

agnxsh
Copy link
Contributor

@agnxsh agnxsh commented Feb 22, 2025

Continued from the columns branch. This branch essentially attempts to add column support to the nimbus-eth2 CL post FULU_FORK_EPOCH. However it does NOT contain column syncing baked into existing SyncManager

Note that all column related mechanics, are gated to and after the Fulu fork, would be helpful to have more eyes on the gating.

return true

else:
return false
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It just runs off the end?

agnxsh added 11 commits August 8, 2025 10:29
@@ -298,12 +298,8 @@ func getMaxBlobsPerBlock(cfg: RuntimeConfig, slot: Slot): uint64 =
if slot >= cfg.FULU_FORK_EPOCH.start_slot:
let
epoch: Epoch = Epoch(uint64(slot) div SLOTS_PER_EPOCH)
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

this is just slot.epoch, and doesn't need the extra : Epoch (lets almost never need to be told the type they have).

@@ -21,7 +21,7 @@ const
## Arbitrary
MaxOrphans = SLOTS_PER_EPOCH * 3
## Enough for finalization in an alternative fork
MaxSidecarless = SLOTS_PER_EPOCH * 128
MaxSidecarless = SLOTS_PER_EPOCH
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

In general, should verify this reduction is safe.

tersec added 5 commits August 9, 2025 19:25
vcus.dag.cfg.MIN_EPOCHS_FOR_BLOB_SIDECARS_REQUESTS - 1)
var numberOfColumnEpochs = vcus.dag.cfg.MIN_EPOCHS_FOR_BLOB_SIDECARS_REQUESTS.int - 1
if slot.is_epoch() and dataColumnRefillEpoch >= vcus.dag.cfg.FULU_FORK_EPOCH:
var blocks = newSeq[BlockId](vcus.dag.cfg.MIN_EPOCHS_FOR_BLOB_SIDECARS_REQUESTS.int)
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This seems like a high upper bound to always allocate. Apparently it only uses from 0 to numberOfColumnEpochs?

Also toOpenArray is inclusive on both its bounds but for i in startIndex..<numberOfColumnEpochs.int is exclusive on the upper bound.

# behind is currently undergoing excess column refilling.
vcus.dag.erSlot = slot
let dataColumnRefillEpoch = (slot.epoch -
vcus.dag.cfg.MIN_EPOCHS_FOR_BLOB_SIDECARS_REQUESTS - 1)
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

vcus should probably line up with slot not ( if one is going to do this approach.

tersec and others added 3 commits August 12, 2025 08:40
hm
hm2
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants