Skip to content

feat: support p2p-only followers without DA#3386

Open
tac0turtle wants to merge 1 commit into
mainfrom
marko/p2p-only-follower-no-da
Open

feat: support p2p-only followers without DA#3386
tac0turtle wants to merge 1 commit into
mainfrom
marko/p2p-only-follower-no-da

Conversation

@tac0turtle

@tac0turtle tac0turtle commented Jul 15, 2026

Copy link
Copy Markdown
Contributor

Overview

Summary by CodeRabbit

  • New Features

    • Followers without a configured DA service now sync through P2P only.
    • Aggregators retain a local DA service fallback when no address is configured.
    • DA components are initialized only when DA support is enabled.
    • Force-inclusion server startup now reports a clear error when DA is unavailable.
  • Bug Fixes

    • Prevented unnecessary DA connections and submitter initialization for P2P-only nodes.
  • Documentation

    • Updated DA configuration defaults and runtime behavior across the documentation.

@github-actions

Copy link
Copy Markdown
Contributor

The latest Buf updates on your PR. Results from workflow CI / buf-check (pull_request).

BuildFormatLintBreakingUpdated (UTC)
✅ passed⏩ skipped✅ passed⏩ skippedJul 15, 2026, 4:04 PM

@coderabbitai

coderabbitai Bot commented Jul 15, 2026

Copy link
Copy Markdown
Contributor

Review Change Stack

📝 Walkthrough

Walkthrough

DA defaults now support P2P-only followers while aggregators retain a fallback address. DA clients and dependent sync components are initialized only when enabled, with command guards, effective-address usage, tests, and updated documentation.

Changes

Conditional DA runtime

Layer / File(s) Summary
DA configuration contract
pkg/config/defaults.go, pkg/config/config.go, pkg/config/config_test.go, docs/...
Default DA addresses are empty, aggregators use the legacy fallback, and DAEnabled()/EffectiveDAAddress() behavior is tested and documented.
Conditional startup wiring
apps/evm/cmd/..., apps/testapp/cmd/..., pkg/cmd/run_node.go
Initialization populates aggregator addresses; node and application startup conditionally create DA clients and use effective endpoints.
DA-optional sync components
block/components.go, block/components_test.go, block/internal/syncing/syncer.go
Submitters, retrievers, forced-inclusion handling, and DA followers are omitted without a DA client, with nil-client coverage added.

Estimated code review effort: 3 (Moderate) | ~20 minutes

Sequence Diagram(s)

sequenceDiagram
  participant StartNode
  participant Config
  participant DAClient
  participant SyncComponents
  participant Syncer
  StartNode->>Config: Check DAEnabled()
  StartNode->>Config: Resolve EffectiveDAAddress()
  StartNode->>DAClient: Create client when enabled
  StartNode->>SyncComponents: Pass DA client or nil
  SyncComponents->>Syncer: Start synchronization
  Syncer->>Syncer: Start DA workers only when client exists
Loading

Possibly related PRs

Suggested reviewers: chatton, randygrok, tzdybal

🚥 Pre-merge checks | ✅ 4 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Description check ⚠️ Warning The description is just the template placeholder and does not include the required Overview details. Fill in the Overview with context, goal, rationale, and any linked issue or tl;dr.
✅ Passed checks (4 passed)
Check name Status Explanation
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
Title check ✅ Passed The title clearly matches the main change: supporting P2P-only followers without DA.
✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch marko/p2p-only-follower-no-da

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@github-actions

Copy link
Copy Markdown
Contributor
PR Preview Action v1.8.1

QR code for preview link

🚀 View preview at
https://evstack.github.io/docs-preview/pr-3386/

Built to branch main at 2026-07-15 16:05 UTC.
Preview will be ready when the GitHub Pages deployment is complete.

@tac0turtle tac0turtle changed the title support p2p-only followers without DA chore: support p2p-only followers without DA Jul 15, 2026
@tac0turtle tac0turtle changed the title chore: support p2p-only followers without DA feat: support p2p-only followers without DA Jul 15, 2026
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