This repository was archived by the owner on Aug 27, 2024. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 209
Conceptual: Substrate Storage #255
Merged
shawntabrizi
merged 31 commits into
polkadot-developers:source
from
shawntabrizi:shawntabrizi-storage-doc
Sep 29, 2019
Merged
Changes from 5 commits
Commits
Show all changes
31 commits
Select commit
Hold shift + click to select a range
368c7bc
Update storage.md
shawntabrizi ac6d78b
skeleton of storage doc
shawntabrizi 09fb5dd
typo
shawntabrizi 7b8b959
Update storage.md
shawntabrizi 97e85f5
Integrate feedback
shawntabrizi 402bba0
fixes
shawntabrizi 89c720c
clarify kind of node
shawntabrizi d77a40b
Clarify
shawntabrizi 999d39f
typo, fix line width
shawntabrizi 68a8592
fixes
shawntabrizi 5bbead7
replace misleading data
shawntabrizi ec323ac
Update docs/conceptual/core/storage.md
shawntabrizi 5813b88
Update docs/conceptual/core/storage.md
shawntabrizi d6d7292
Update docs/conceptual/core/storage.md
shawntabrizi 1c5993e
Update docs/conceptual/core/storage.md
shawntabrizi ab8caad
update from feedback
shawntabrizi e3ceff2
Merge branch 'shawntabrizi-storage-doc' of https://github.com/shawnta…
shawntabrizi f4570ee
Add a section on why to use child tries
shawntabrizi 9db4f54
Update docs/conceptual/core/storage.md
shawntabrizi 23f725b
Update docs/conceptual/core/storage.md
shawntabrizi 59f529a
Update docs/conceptual/core/storage.md
shawntabrizi 07026a3
Update docs/conceptual/core/storage.md
shawntabrizi 9240c48
Update docs/conceptual/core/storage.md
shawntabrizi 2cc0216
Update docs/conceptual/core/storage.md
shawntabrizi 9cb7da5
Update docs/conceptual/core/storage.md
shawntabrizi df67541
Update docs/conceptual/core/storage.md
shawntabrizi 96fee72
Update docs/conceptual/core/storage.md
shawntabrizi 330d8a1
Update docs/conceptual/core/storage.md
shawntabrizi 72550f5
Final fixes
shawntabrizi 2018486
add todo
shawntabrizi 0e33445
Merge branch 'source' into shawntabrizi-storage-doc
shawntabrizi File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Can we put a bit more content on how a Trie is abstracting on top of a K-V store? I have worked with storage from highest level (SRML), to the lowest (raw RPC to to encoded key) and from the looks of it, honestly, I never really felt like I am working with a Trie here. It always looked more like a bare bone KV store to me.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Would need to know what that information would look like...
Implementation details like this could be above the level of "conceptual" docs, but I agree we would want this information in the reference docs.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I would say it is interesting to keep in mind as a runtime developper that the trie is way more costy than a standard k-v store.
General idea being that you should rather store a serialized struct with two field at a storage location rather than both field at different location, except if you want to reduce the size of the proof.
That is something that can get quite clear when you apply storage cost (if you have a base cost and variable cost for size to store).