Skip to content

feat(da): introduce minimal PeerDAS Data Availability client#1404

Draft
tosynthegeek wants to merge 1 commit into
ReamLabs:masterfrom
tosynthegeek:master
Draft

feat(da): introduce minimal PeerDAS Data Availability client#1404
tosynthegeek wants to merge 1 commit into
ReamLabs:masterfrom
tosynthegeek:master

Conversation

@tosynthegeek

Copy link
Copy Markdown
Collaborator

What was wrong?

This PR adds a standalone ream-da binary focused entirely on the data layer no fork choice, no execution, no validator duties.

How was it fixed?

Built a minimal PeerDAS supernode that connects to an existing beacon client, custodies all 128 data columns, and performs erasure reconstruction

  • Subscribes to all 128 data_column_sidecar_* gossip topics using fork digest fetched from beacon ENR at startup
  • Full per-column validation: well-formed, subnet, inclusion proof, KZG
  • Persistent storage via SSZ +snappy with redb slot index and finalized epoch pruning
  • Erasure reconstruction at 64-column threshold
  • ConsensusClient trait for integration with any minimal beacon client
  • Static peer dialing with status/ping handshakes

Fixes made:

  • Swapped column_index/row_index in recover_matrix output causing panic
  • B32 fork digest hex parsing failure (FromHex expects 64 chars, digest is 8)
  • Status handler recomputing fork digest from hardcoded mainnet FULU_FORK_EPOCH instead of reading from network_state
  • Added upsert_peer for outbound connections causing peer responses to be dropped

To-Do

@tosynthegeek tosynthegeek marked this pull request as draft June 1, 2026 17:54
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.

1 participant