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

Implement storage trie version 1 #2418

Closed
noot opened this issue Mar 21, 2022 · 4 comments · Fixed by #3433
Closed

Implement storage trie version 1 #2418

noot opened this issue Mar 21, 2022 · 4 comments · Fixed by #3433
Assignees
Labels
Epic Issue used to track development status of a complex feature, aggregates several issues S-trie issues related to the pkg/trie package.

Comments

@noot
Copy link
Contributor

noot commented Mar 21, 2022

Task summary

Current storage trie is version 0, we need to upgrade to version 1 which has an updated header format which especially adds inlined hashes nodes.

Trie encoding/hashing functions might need to accept a v1 parameter or some other method for versioning the trie encoding

Discussions:

Related Gossamer issues:

Related Gossamer PRs:

Related Rust code:

Related documentation:

Other issues:

WASM functions to implement:

Post-v1 things to do:

@noot noot added trie labels Mar 21, 2022
@qdm12 qdm12 self-assigned this Apr 28, 2022
@danforbes danforbes changed the title v0.9.17: implement storage trie version 1 Implement storage trie version 1 Apr 29, 2022
@blasrodri
Copy link

Hi! What's the status of this? Is there anything I can do to help out?

@qdm12
Copy link
Contributor

qdm12 commented Sep 16, 2022

Hello there, sorry I didn't notice the comment earlier.
Status is still in progress (actively being worked on since May 2022 pretty much), it's taking a long time since this change impacts the entire codebase and there is a lot of code we had/have that cannot work with the v1 state trie (due to the higher dependency on disk). For example we need to implement #2838 first (which is also work in progress).

You can help out by letting us know what is the problem you are encountering. We checked 2 weeks ago and all runtimes still use v0 as their state trie (not v1), so my guess is you are using i.e. the proof verification function ext_trie_blake2_256_verify_proof_version_2 with the version argument set to 1 right? Or is it something else?

Thanks!

@qdm12
Copy link
Contributor

qdm12 commented May 12, 2023

I hope this comment will help continue work on this:

#2918 (comment)

Also the following PRs are relevant directly to support the v1 trie:

#2641
#2665

More changes would also be required to support the v1 trie outside the trie package (for the host), notably:

#2774
#2664

Copy link

🎉 This issue has been resolved in version 0.8.0 🎉

The release is available on GitHub release

Your semantic-release bot 📦🚀

@P1sar P1sar added Epic Issue used to track development status of a complex feature, aggregates several issues S-trie issues related to the pkg/trie package. labels Mar 14, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Epic Issue used to track development status of a complex feature, aggregates several issues S-trie issues related to the pkg/trie package.
Projects
None yet
6 participants