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

The state of Postage Snapshots #4957

Open
5 tasks
Cafe137 opened this issue Jan 23, 2025 · 0 comments
Open
5 tasks

The state of Postage Snapshots #4957

Cafe137 opened this issue Jan 23, 2025 · 0 comments

Comments

@Cafe137
Copy link

Cafe137 commented Jan 23, 2025

Summary

This is a discussion starter about the postage snapshot feature enabled with the use-postage-snapshot flag.

Motivation

If I understand correctly, chain-sync is the process in which the Bee node scans the blockchain via eth_getLogs calls to build a database from the Swarm events that are mandatory for it to function. This happens once initially, from the genesis of Swarm on the Gnosis chain, and also continuously as the Bee node runs, to stay up-to-date.

The initial chain-sync time is hard to predict, just empirically speaking it is somewhere between 10-30 minutes. Some endpoints are disabled during this time period (e.g. batch), full nodes cannot function until they have an up-to-date stamp database, etc.

A while ago, the "postage snapshot" feature was made to speed this up. Postage snapshots were created by the foundation, by collecting Swarm events from the blockchain, serializing (and compressing?) them in some way and uploading it on Swarm. Then, new nodes would download this dump from Swarm to drastically cut down on the JSON-RPC calls required to sync. After its introduction, this feature was enabled by default, but was disabled some indeterminate time later due to frequent problems with it (mostly it was an issue of getting stuck?).

I would like to rekindle this and understand a few things.

  • Are we still creating these snapshots?
  • What is the byte size of a snapshot?
  • Can we reliably fetch this as a new node with time settlements (free bandwidth)?
  • Do we have instruments on how much time it can shed off?
  • Do we know what were the exact issues with it that made it opt-in?

Ultimately, my questions are to decide whether it is worth bringing back this feature by default.

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

No branches or pull requests

1 participant