-
Notifications
You must be signed in to change notification settings - Fork 147
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
On-demand calculation for Ghostdag for Higher Levels #494
base: master
Are you sure you want to change the base?
Conversation
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.
It shouldn't be a blocker for merge, but it would be nice if each function will have a comment with a bit of explanation, because it can be hard to get the guiding logic for the whole process if you're not familiar with it
Co-authored-by: Ori Newman <[email protected]>
Co-authored-by: Ori Newman <[email protected]>
Co-authored-by: Ori Newman <[email protected]>
Co-authored-by: Ori Newman <[email protected]>
Co-authored-by: Ori Newman <[email protected]>
Co-authored-by: Ori Newman <[email protected]>
apply_proof only inserts parent entries for a header from the proof into the relations store for a level if there was GD data in the old stores for that header. This adds a check to filter out parent records not in relations store
…cient root This happens when there's not enough headers in the pruning proof but it satisfies validation
relations.get_parents on GD gets extra parents that aren't in the current GD store. so get_blue_work throws an error next, ORIGIN was mising from the GD so add that
The new prefixes added are compatible with the old version. We don't want to trigger a db delete with this change
It's already on there
d347f1b
to
273aa81
Compare
This prevents the case where new root is an anticone of old root
When building pruning point proof ghostdag data, ignore blocks before root
6bd441a
to
65948d3
Compare
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.
Initial pass -- minor details out of core changes
- use BlueWorkType - fix some comments
Introduction
Currently, for each block that we process header processor will calculate ghostdag for all levels. This preprocessing allows for the faster calculation of the pruning proof during pruning but imposes a significant overhead for the processing of each block. It is far better to defer this higher level GD calculation for when it's actually needed - during pruning proof building.
Main Changes
build_pruning_proof
is called):TempGhostdag
TempGhostdagCompact
Not included