Store changes to persist data columns#6073
Conversation
Co-authored-by: dapplion <35266934+dapplion@users.noreply.github.com>
# Conflicts: # beacon_node/store/src/lib.rs # consensus/types/src/chain_spec.rs
# Conflicts: # beacon_node/store/src/metrics.rs
…dress review comments.
michaelsproul
left a comment
There was a problem hiding this comment.
LGTM!
Although this introduces new columns on disk I think it is OK to merge this without a schema version increment as nothing will be stored in those columns until the fork epoch is set.
Ideally we would want to block downgrading to a column-oblivious schema once peer DAS is activated, but it's kind of a moot point because nodes won't be able to follow the chain without these changes (and the rest of the DAS logic).
We will also be bumping the schema version (and disallowing downgrades) with this PR:
|
@mergify queue |
🛑 The pull request has been removed from the queue
|
|
@mergify refresh |
✅ Pull request refreshed |
|
@mergify queue |
✅ The pull request has been merged automaticallyDetailsThe pull request has been merged automatically at 0e96d4f |
* Store changes to persist data columns. Co-authored-by: dapplion <35266934+dapplion@users.noreply.github.com> * Update to use `eip7594_fork_epoch` for data column slot in Store. * Fix formatting. * Merge branch 'unstable' into data-columns-store # Conflicts: # beacon_node/store/src/lib.rs # consensus/types/src/chain_spec.rs * Minor refactor. * Merge branch 'unstable' into data-columns-store # Conflicts: # beacon_node/store/src/metrics.rs * Init data colum info at PeerDAS epoch instead of Deneb fork epoch. Address review comments. * Remove Deneb-related comments
Issue Addressed
Part of #6072.
This PR contains only the Store changes to persist data columns.
DataColumns are stored individually by index. Sampling peers will request single columns or arbitrary slots. Storing bundled like blobs would be inefficient.
Upstream PRs: