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

export: don't support multiple formats #701

Closed
yihuang opened this issue Mar 13, 2023 · 3 comments
Closed

export: don't support multiple formats #701

yihuang opened this issue Mar 13, 2023 · 3 comments

Comments

@yihuang
Copy link
Collaborator

yihuang commented Mar 13, 2023

There are some low hanging fruits to compress the exported snapshot format (#690, #688), but before that, we need some refactoring to support multiple formats, so the user can handle the format migration gracefully.
On the IAVL side, we'll just support new formats in an fully additive way, and always support importing from old formats, so it'll be a non-breaking change, and left cosmos-sdk to figure out the format migration process in state-sync.

Serialization Format

I think we should maintain the serialization format of ExportNode inside IAVL library, and provides a bytes oriented import/export interfaces, so it has more control on the exact format.

@yihuang
Copy link
Collaborator Author

yihuang commented Mar 13, 2023

An alternative is keeping iavl library simple, and do this in cosmos-sdk.

@tac0turtle
Copy link
Member

The interface on how to do snapshots should live in the sdk since commitment structures could change in the future. Having the api live there makes more sense across commitment structures

@yihuang
Copy link
Collaborator Author

yihuang commented Mar 13, 2023

The interface on how to do snapshots should live in the sdk since commitment structures could change in the future. Having the api live there makes more sense across commitment structures

I opened a PR to introduce the compact snapshot in purely new API, totally non-breaking for iavl library: #703, let's leave the other concerns to the sdk side then.

@yihuang yihuang closed this as completed Mar 13, 2023
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

2 participants