Skip to content

Conversation

@rodrigo-o
Copy link
Collaborator

@rodrigo-o rodrigo-o commented Dec 19, 2025

Motivation

Have a single server continusly syncing hoodi, sepolia and mainnet

Description

This PR takes inspiration in the already present server_runner.py and creates a new docker_monitor.py accompanied with make targets and a new docker compose that spawn by default 3 nodes in parallel, hoodi, sepolia and mainnet, and monitors them in the following way:

  • Monitor snapsync time (with a timeout of 4 hours globally)
  • Once a network is synced it makes sure that it process blocks for at least 20 minutes
  • Once all of the above pass the ntwork is marked as successful
  • Once all networks succeed we send a notification, update a history log and store consensus/ethrex logs for all networks. Then restarts the containers and starts again
  • On failure, the containers aren't stopped, to be able to debug DB issues if needed, failures are also notified and stored in the history of runs

Status while running
image

Notification
image

History Log
image

Next Steps:

This is far from perfect but its working and adds a lot of value in it's current form, next we may want to:

  • Be able to validate the state after the syncs
  • tweak how we update or not the branch on each run
  • Refactor the script
  • Unify the way to run nodes in loop (server_runner.py)
  • Add additional information to the history log and notifications (some ideas were discussed, like peer_count, etc)

Closes #5718

@github-actions github-actions bot added the L1 Ethereum client label Dec 19, 2025
@rodrigo-o rodrigo-o force-pushed the parallel-snapsync-test branch from 95ea395 to 45fbd26 Compare December 22, 2025 22:13
@rodrigo-o rodrigo-o marked this pull request as ready for review December 23, 2025 17:56
@rodrigo-o rodrigo-o requested a review from a team as a code owner December 23, 2025 17:56
@ethrex-project-sync ethrex-project-sync bot moved this to In Review in ethrex_l1 Dec 23, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

L1 Ethereum client

Projects

Status: In Review

Development

Successfully merging this pull request may close these issues.

Run hoodi, sepolia and mainnet in parallel to monitor snapsync

2 participants