-
Notifications
You must be signed in to change notification settings - Fork 105
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
Initialize beacon light client from checkpoint #828
Conversation
Seems there is no To make e2e test easy, we keep the |
Working on a script for this. Will PR shortly. |
|
E2E setup seems a bit too slow require almost 4 minutes even skip building steps, so speedup in this commit decreased to almost 90 seconds. |
I would rather not reduce the slot time. Clara reverted that optimization for several reasons I can't remember. I don't think waiting 4 minutes for sync is too bad. |
It's different. Last time what we change is |
Does this mean geth will produce an execution header every 2 seconds? If so, this could cause the light client to fall behind importing execution headers every 2 seconds (due to the overhead of BLS signature verification). |
Yes, that's true. But the hack is for minimal spec and dev usage only. It did help for fast checking basic functions like beacon/beefy sync work as expected so I would prefer keep it. Just add an env config here dc488f0 will not enable fast mode by default. |
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.
+1
@vgeddes @yrong Just mentioning, I would rather we not deviate from the official spec minimal config, since it a standard spec that all the client implementation uses. Speeding up those configs may save time with testing, but we lose time with development since it has wasted some time figuring out why some proofs fail, only to find because the spec is different. I'd wager that more cases like this will occur if we deviate from the standard spec in the future. |
That's a good point @claravanstaden. I see that these config parameters are all tightly related, and decreasing the slot time may interfere with ancestry proofs and the @yrong can you revert this slot change please. Since it is disabled by default, I think no one will actually use it anyway. |
Refactoring including:
InitialUpdate
toCheckPointUpdate
HeaderUpdate
toExecutionHeaderUpdate
Extrinsic added:
Essentially
InitialUpdate
is just a CheckPoint for initialization, it's possible we do checkpoint any time at runtime(e.g. checkpoint after a routine maintenance or emergency which cause bridge stopped for a long time).Snowfork/cumulus#23 required
Fixes: SNO-429, SNO-430