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

spec: define syncing protocols #22

Open
2 tasks
Tracked by #23
lasarojc opened this issue Dec 23, 2022 · 3 comments
Open
2 tasks
Tracked by #23

spec: define syncing protocols #22

lasarojc opened this issue Dec 23, 2022 · 3 comments
Labels
backlog A prioritized task in the team's backlog spec Specification-related

Comments

@lasarojc
Copy link
Contributor

lasarojc commented Dec 23, 2022

Was tendermint/tendermint#8219

Summary

Our current spec has no mention for the syncing protocols that CometBFT uses: block sync and state sync. It would be good to write one up these so people can use it to quickly understand how each of them work.

@lasarojc lasarojc mentioned this issue Dec 23, 2022
40 tasks
@sergio-mena sergio-mena added the backlog A prioritized task in the team's backlog label Dec 23, 2022
@josef-widder josef-widder added the spec Specification-related label Jan 27, 2023
@josef-widder
Copy link
Contributor

josef-widder commented Jan 27, 2023

For Informal's contract with the ICF a long time ago, we have written a spec for FastSync, which is now called "Block sync". I think this might be a good starting point for a high-level specification for Block sync. I am happy to discuss the old work whenever someone takes on this issue.

@josef-widder
Copy link
Contributor

For blocksync there is also a description of the current behavior by @jmalicevic. If we could compile this, and the part on temporal properties (invariants) from the Fastsync spec above, we should be able to get a blocksync spec quite quickly.

@cason
Copy link
Contributor

cason commented Apr 19, 2023

Regarding state sync, as part of #28, I've found the following documentation and specs:

  • docs/core/state-sync.md:

    • very basic information of how to enable state sync
    • lacks from a good introduction and general description
    • check if in line with the [statesync] block on the configuration
  • spec/p2p/messages/state-sync.md:

    • documents the messages exchanged by the protocol, not really its operation
    • referred as existing specification on the remaining documents
  • spec/abci/abci++_basic_concepts.md:

    • State-sync methods section, a good summary of state sync
    • reference for the ABCI methods used by block sync
  • spec/abci/abci++_app_requirements.md:

    • State Sync section is probably the best description and documentation we have
    • the point of view, however, is the application, target for application developers

cometcrafter pushed a commit to graphprotocol/cometbft that referenced this issue May 1, 2024
…v0.37.4/pr-22

perf: TxSearch pagination (backport cometbft#22)
cometcrafter pushed a commit to graphprotocol/cometbft that referenced this issue May 1, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
backlog A prioritized task in the team's backlog spec Specification-related
Projects
None yet
Development

No branches or pull requests

4 participants