-
Notifications
You must be signed in to change notification settings - Fork 106
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
Tracking: State management service. #136
Labels
C-research
Category: Engineering notes in support of design choices
Milestone
Comments
Edit: I think this is not the best approach, see above. |
2 tasks
dconnolly
added
E-med
C-research
Category: Engineering notes in support of design choices
labels
Apr 9, 2020
Use a HashMap or something similar as a skeleton for storing chain state, to start. |
#349 should be closed out before starting this. |
I think a good first step towards all of the required scaffolding would be to be able to store and retrieve blocks by hash. |
dconnolly
changed the title
State management service.
Tracking: State management service.
Jun 4, 2020
Closed by at least #473 |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
We should start a sketch of a state storage service, as in https://github.com/ZcashFoundation/zebra/blob/main/design/design.md#zebra-storage
Of the two points in that document, the first, storage of raw blocks, is much simpler than storage of other (processed, ingested) data. So we could start just by having aService
for raw block data, backed by RocksDB. This exercises setting up a database and providing an interface for it, but leaves all of the data modeling questions for later.Edit: I think that a better approach is to start defining request/response pairs for queries from the rest of the node to the storage service, and implement those initially with an in-memory implementation with no persistence. This lets us refine what kinds of queries we want to make before committing to storage, and the initial implementation can later evolve into a test harness, allowing us to write tests about how functions behave with respect to particular chain state.
The text was updated successfully, but these errors were encountered: