Skip to content
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

feat(p2p): implement p2p sync #463

Draft
wants to merge 21 commits into
base: main
Choose a base branch
from
Draft

feat(p2p): implement p2p sync #463

wants to merge 21 commits into from

Conversation

cchudant
Copy link
Member

supersedes and closes #400

Pull request description will be added later

@Trantorian1 Trantorian1 added research Research and exploration required before implementation feature Request for new feature or enhancement node Related to the full node implementation db-migration Requires database schema changes or migration labels Jan 15, 2025
@cchudant
Copy link
Member Author

cchudant commented Jan 16, 2025

Here is my TODO list as of now:

  • Fix peer spamming when low peer count (add timeout per peer in peerset)
  • Debug sync from pathfinder/juno of around ~10k blocks
  • Follow the latest L1 block instead of the temporary unbounded syncing thing
  • Re-add gateway sync mode
    • Tidy: remove mc_block_import
    • Tidy: remove mc_sync, replace it with the new mc_sync2
    • Tidy: cli args for mc_sync
    • Pending block shenanigans
    • Save sync tip to db, db flushing
  • Rebase work on latest main
  • Mark this pull request as ready.
  • Merge p2p in experimental state :)

After this pr is merged, I would open further PRs for:

  • fix: bubble up low level p2p errors so that we can punish the peer in peerset
  • fix: pre-v0.13.2 block hash computation
  • fix: nicer logging and data collection
  • fix: sync_handlers response should not follow chain
  • feat: signature verification
  • feat: backward sync
  • feat: Block propagation
  • feat: Transaction propagation
  • fix: p2p relay circuit
  • fix: "syncing" jsonrpc endpoint
  • code quality: remove optional commitments in block headers primitives

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
db-migration Requires database schema changes or migration feature Request for new feature or enhancement node Related to the full node implementation research Research and exploration required before implementation
Projects
Status: In progress
Development

Successfully merging this pull request may close these issues.

2 participants