go-algorand
go-algorand copied to clipboard
320 rounds: add basics catchpoint support for onlineaccounts table
Different approaches for catchpoint generation. We need the last 320 rounds of account state in order to make progress on the blockchain. Question is how much data to include about the last 320 rounds.
- Limited (keep current state)
- Pro: less data
- Con: more complicated (code), takes longer to catchup. Need to download additional data from a relay
- Everything
- Pro: simpler to catchup
- Con: larger catchpoint file, harder to recover if there's a bug with online accounting or txtail. Rather than recalucalte the state fresh, you'd directly apply it from potentially corrupted state.
Need to decide on approach.
Similarly to the txtail
table (see https://github.com/algorand/go-algorand/pull/3748/files#diff-df6d09aa068295acacdbc3f92d0b28fbed5fda7f5689ed7dbb45a4049cc82898R879) add catchpointonlineaccounts
table and operations after merging txtail in (to prevent merge conflicts).
Postponed for cathcpoint rework phase 2