-
Notifications
You must be signed in to change notification settings - Fork 1k
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
Miscellaneous Runtime Fixes & Improvements - Raul #1674
Conversation
Codecov Report
@@ Coverage Diff @@
## master #1674 +/- ##
==========================================
- Coverage 72.92% 72.21% -0.72%
==========================================
Files 100 99 -1
Lines 7148 7066 -82
==========================================
- Hits 5213 5103 -110
- Misses 1478 1494 +16
- Partials 457 469 +12 |
log.WithFields(logrus.Fields{ | ||
"epoch": helpers.CurrentEpoch(beaconState), | ||
}).Info("Verifying randao") | ||
log.Infof("Pubkey: %#x", proposer.Pubkey) |
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 these be fields on the above line? Verifying randao
@@ -113,7 +113,7 @@ func TestProposeBlock_UsePendingDeposits(t *testing.T) { | |||
|
|||
m.proposerClient.EXPECT().PendingAttestations( | |||
gomock.Any(), // ctx | |||
gomock.Eq(&ptypes.Empty{}), | |||
gomock.Any(), |
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.
Why changing all of these? If the type has changed, can you use the proper type now?
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 have a few minor comments. I also think this logging is going to be very verbose, but we can revisit logging levels at another time.
I suspect that you didn't choose debug for a lot of these logs because p2p is overwhelming.
I would recommend that debug logging for p2p be some other flag entirely because it's not very useful to us.
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.
Please fix trivial comments, otherwise LGTM
This is part of #1565
Description
Write why you are making the changes in this pull request
This PR has been a major effort to get runtime working for our beacon node custom configuration with 8 validators. We have identified a ton of bugs that are critical and are mostly small fixes to our code.
Write a summary of the changes you are making
Below are all the changes done in this PR to achieve a functional runtime. The chain still does not advance indefinitely, but this is a starting point for future PRs to make the runtime bulletproof.
slot-GENESIS_SLOT
for more human readable numbers(slot+1)%SLOTS_PER_EPOCH==0
(critical)FarFutureEpoch
MIN_ATTESTATION_INCLUSION_DELAY
periodbeaconState.ValidatorRegistryUpdateEpoch == helpers.SlotToEpoch(req.EpochStart)-1
, set the registryChange flag to true when requesting assignmentsHow to Run
Make sure you checkout this branch, then deploy a deposit contract to Goerli using:
Make sure you have a new, fresh datadir for your beacon node and copy the deposit contract address to use below:
Then, create 8 unique validator clients with the following command:
Keep note of each of their deposit data hex strings, you'll need them later. Then, start the 8 validator clients with the command:
Then, use the script below and paste it in the console of a web3 enabled site such as etherscan.io while your beacon node + 8 validators are running:
For Future Runs: you can keep the 8 validator keystore directories and don't need to copy paste their deposit data again into the js file from above. Make sure you delete the beacon node's datadir, however, on a fresh run.