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: one-step boot from scratch using a snapshot #196

Open
seanmcgary opened this issue Jan 22, 2025 · 0 comments
Open

feat: one-step boot from scratch using a snapshot #196

seanmcgary opened this issue Jan 22, 2025 · 0 comments
Assignees
Labels
enhancement New feature or request

Comments

@seanmcgary
Copy link
Member

seanmcgary commented Jan 22, 2025

Summary

As someone running an EigenLayer Sidecar instance, when I run sidecar run for the very first time, the Sidecar should automatically:

  • Download the applicable snapshot given the runtime parameters
  • Verify the hash of the snapshot matches the signature hosted alongside it
  • Load the snapshot data into the destination database
  • Start the Sidecar

If the Sidecar exits or crashes during the restore period before starting, when sidecar run is run again, the corrupt state should be removed, and the restore from snapshot re-attempted.

Once restored successfully, successive runs of sidecar run should resume where the Sidecar last exited.

Running the existing restore-snapshot should behave in the exact same way except it should exit once the snapshot is loaded rather than starting the Sidecar process.

Snapshot metadata

The remote snapshot "repository" should contain a metadata file in a well-known location that the Sidecar can download and use to find the desired snapshot for the given runtime configurations.

If a snapshot for the given runtime configuration is not available, the user should be notified with an appropriate error message.

Configuration

It should be possible to override/configure the following things that should have sane defaults:

  • The source of the snapshot
  • The specific snapshot file to use
  • The ability to load a file directly from the cli rather than interpreting runtime settings
  • For mainnet, disable restore from snapshot all together and let the Sidecar sync from genesis
    • Due to how testnet has evolved, it will need to boot from a snapshot in order to sync properly.
@seanmcgary seanmcgary added the enhancement New feature or request label Jan 22, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

When branches are created from issues, their pull requests are automatically linked.

2 participants