API to get summary of swingstore block changes #6562
Labels
cosmic-swingset
package: cosmic-swingset
enhancement
New feature or request
SwingSet
package: SwingSet
vaults_triage
DO NOT USE
Milestone
What is the Problem Being Solved?
In order to solve state-sync (#3769, #5542), we need to capture the content of changes to swingset state, and save it either to the IAVL tree (#5934), or write it in an external blob (WAL like for a full state dump).
Only the resulting write and deletes are needed, not any intermediate mutations, or any read.
This also need to be cognizant of potential crank rollbacks, so a simply memory based approach like the current crank buffer is probably not appropriate.
This is currently complicated by the fact SwingSet state is split over 3 kind of storage: LMDB for the swing-store, SQLite for the stream-store, and raw files for snapshots of the snap-store.
Description of the Design
Once a single SQLite DB is used for all SwingSet state (as initiated by #6561), the following approach may work:
The DB / table would likely require 3 column:
key
,newValue
anddeleted
.Security Considerations
None I can think of
Test Plan
TBD
The text was updated successfully, but these errors were encountered: