Skip to content
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

Release v1.0.0 #4459

Merged
merged 110 commits into from Aug 23, 2022
Merged

Release v1.0.0 #4459

merged 110 commits into from Aug 23, 2022

Conversation

dapplion
Copy link
Contributor

@dapplion dapplion commented Aug 20, 2022

g11tech and others added 30 commits July 9, 2022 14:05
* Add proposerBalanceDiff metric

* Use proper bucket sizes
* Add stateClonedCount metric

* Fix clonedCount
Use parentBlockSlot in import block flow
Update contributing.md doc
* Forkchoice: implement justifiedBalancesGetter

* CheckpointBalancesCache: Use flat cache with max 4 items

* Make sure justifiedBalancesGetter does not throw error

* Populate balances cache per block

* Improve closestJustifiedBalancesStateToCheckpoint

* Add metrics and simplify

* Update test types

Co-authored-by: dapplion <35266934+dapplion@users.noreply.github.com>
Bumps [async](https://github.com/caolan/async) from 3.2.0 to 3.2.4.
- [Release notes](https://github.com/caolan/async/releases)
- [Changelog](https://github.com/caolan/async/blob/master/CHANGELOG.md)
- [Commits](caolan/async@v3.2.0...v3.2.4)

---
updated-dependencies:
- dependency-name: async
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [moment](https://github.com/moment/moment) from 2.29.1 to 2.29.4.
- [Release notes](https://github.com/moment/moment/releases)
- [Changelog](https://github.com/moment/moment/blob/develop/CHANGELOG.md)
- [Commits](moment/moment@2.29.1...2.29.4)

---
updated-dependencies:
- dependency-name: moment
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* Compute total unslashed target balance progressively

* Assert progressive target balances in spec tests

* Add assertCorrectProgressiveBalances cli option

* Review PR

Co-authored-by: dapplion <35266934+dapplion@users.noreply.github.com>
Refactor execution engine mock
* Run fork-choice spec tests against production code

* Fix forkchoice spec tests

* Cleanup fork_choice spec test runner

* assertCorrectProgressiveBalances for fork_choice spec test

* Fix sim tests

* Make sure negative fork_choice spec test throw error

* disableArchiveOnCheckpoint

* disableLightClientServerOnImportBlockHead

* Add disableOnBlockError

* Fix merge conflicts

Co-authored-by: Tuyen Nguyen <vutuyen2636@gmail.com>
* Remove @module tags

* Drop typedoc scripts
* Review bellatrix assembleBody

* fix the prepareExecutionPayload to only return payloadid

* simplify prepareForNextSlot

* handle the error case properly when payload can't be fetched

* unit test fixes

* avoid null as prepare response to be more explicit

* changing empty payload logging from verbose to yarn

Co-authored-by: gajinder <develop@g11tech.io>
g11tech and others added 17 commits August 17, 2022 14:18
* Configure mainnet merge

* change minimal ttd comment
* Fix the prepareNextSlot scheduler and add payload metrics

* add dashboard to metrics

* exemplar false
* cli/cmds: remove account subcommand

* cli/cmds: remove account subcommand
* config/networks: remove kiln merge testnet

* config/networks: rename prater to goerli

* validator/test: use ropsten as base

* config/networks: fix linter error

* chore: disable test with kiln data

* chore: disable sim test that relied on kiln

* validator/test: import ropsten specs from clients

* chore: fix lint errors

Co-authored-by: Cayman <caymannava@gmail.com>
…#4456)

* Update spec tests to v1.2.0-rc.3 skipping not yet supported testcases

* disable LightClientUpdate completely for now
* Consider state slot in getDomain

* Commit to easily run just the test case (revert commit and remove shouldSkip entirely once it works)

* fix the chain config for operations runner

* previous fork simplification

* some fixes

Co-authored-by: harkamal <gajinder@g11.in>
* Rename `rootDir` to `dataDir`

* Refactor initializeOptionsAndConfig

* Remove old peerstore migration

* Fix rootDir

* Rename `metrics.enabled` to `metrics`

* Rename `api.rest` to `rest`

* Rename `chain.defaultFeeRecipient` to `suggestedFeeRecipient`

* Rename `network.discv5.enabled` to `discv5`

* Set many network flags as hidden

* Fix rest rename

* Change rest options order

* Remove rest alias

* Rename `builder.enabled` to `builder`

* More suggestedFeeRecipient

* Hide most chain options

* Rename `eth1.enabled` to `eth1`

* Remove eth1.providerUrl

* Hide eth1.depositContractDeployBlock

* More eth1.enabled

* More rest.enabled

* More rest.namespace

* More rest.address

* More rest.port

* More suggestedFeeRecipient

* Hide some beacon options

* Overhaul wss options

* Fix dataDir capitalization

* Review network flags

* Update logFile options

* Update wss options

* Drop aliases

* Rename keymanager.enabled

* Rename importKeystoresPath

* Fix beacon-node types

Co-authored-by: dapplion <35266934+dapplion@users.noreply.github.com>
@dapplion dapplion requested a review from a team as a code owner August 20, 2022 12:15
@dapplion dapplion changed the base branch from unstable to stable August 20, 2022 12:16
@q9f
Copy link
Contributor

q9f commented Aug 20, 2022

Sorry, can we get #4460 in?

@github-actions
Copy link
Contributor

Performance Report

✔️ no performance regression detected

Full benchmark results
Benchmark suite Current: 7b6c83e Previous: - Ratio
getPubkeys - index2pubkey - req 1000 vs - 250000 vc 1.9142 ms/op
getPubkeys - validatorsArr - req 1000 vs - 250000 vc 70.169 us/op
BLS verify - blst-native 1.8529 ms/op
BLS verifyMultipleSignatures 3 - blst-native 3.7995 ms/op
BLS verifyMultipleSignatures 8 - blst-native 8.1771 ms/op
BLS verifyMultipleSignatures 32 - blst-native 29.643 ms/op
BLS aggregatePubkeys 32 - blst-native 39.049 us/op
BLS aggregatePubkeys 128 - blst-native 153.19 us/op
getAttestationsForBlock 157.41 ms/op
isKnown best case - 1 super set check 429.00 ns/op
isKnown normal case - 2 super set checks 415.00 ns/op
isKnown worse case - 16 super set checks 419.00 ns/op
CheckpointStateCache - add get delete 8.3680 us/op
validate gossip signedAggregateAndProof - struct 4.2791 ms/op
validate gossip attestation - struct 2.0297 ms/op
altair verifyImport mainnet_s3766816:31 4.4015 s/op
pickEth1Vote - no votes 2.0402 ms/op
pickEth1Vote - max votes 20.927 ms/op
pickEth1Vote - Eth1Data hashTreeRoot value x2048 10.548 ms/op
pickEth1Vote - Eth1Data hashTreeRoot tree x2048 22.272 ms/op
pickEth1Vote - Eth1Data fastSerialize value x2048 1.4991 ms/op
pickEth1Vote - Eth1Data fastSerialize tree x2048 12.264 ms/op
bytes32 toHexString 984.00 ns/op
bytes32 Buffer.toString(hex) 668.00 ns/op
bytes32 Buffer.toString(hex) from Uint8Array 883.00 ns/op
bytes32 Buffer.toString(hex) + 0x 679.00 ns/op
Object access 1 prop 0.32300 ns/op
Map access 1 prop 0.29400 ns/op
Object get x1000 18.337 ns/op
Map get x1000 1.0420 ns/op
Object set x1000 101.17 ns/op
Map set x1000 61.166 ns/op
Return object 10000 times 0.37180 ns/op
Throw Error 10000 times 5.9098 us/op
enrSubnets - fastDeserialize 64 bits 2.3990 us/op
enrSubnets - ssz BitVector 64 bits 697.00 ns/op
enrSubnets - fastDeserialize 4 bits 341.00 ns/op
enrSubnets - ssz BitVector 4 bits 693.00 ns/op
prioritizePeers score -10:0 att 32-0.1 sync 2-0 86.562 us/op
prioritizePeers score 0:0 att 32-0.25 sync 2-0.25 128.64 us/op
prioritizePeers score 0:0 att 32-0.5 sync 2-0.5 202.61 us/op
prioritizePeers score 0:0 att 64-0.75 sync 4-0.75 389.46 us/op
prioritizePeers score 0:0 att 64-1 sync 4-1 461.78 us/op
RateTracker 1000000 limit, 1 obj count per request 185.05 ns/op
RateTracker 1000000 limit, 2 obj count per request 140.67 ns/op
RateTracker 1000000 limit, 4 obj count per request 118.22 ns/op
RateTracker 1000000 limit, 8 obj count per request 107.75 ns/op
RateTracker with prune 3.7170 us/op
array of 16000 items push then shift 3.1627 us/op
LinkedList of 16000 items push then shift 23.762 ns/op
array of 16000 items push then pop 212.23 ns/op
LinkedList of 16000 items push then pop 20.867 ns/op
array of 24000 items push then shift 4.5488 us/op
LinkedList of 24000 items push then shift 22.878 ns/op
array of 24000 items push then pop 199.77 ns/op
LinkedList of 24000 items push then pop 20.740 ns/op
intersect bitArray bitLen 8 11.785 ns/op
intersect array and set length 8 151.27 ns/op
intersect bitArray bitLen 128 62.268 ns/op
intersect array and set length 128 2.1097 us/op
Buffer.concat 32 items 1.8340 ns/op
pass gossip attestations to forkchoice per slot 3.1779 ms/op
computeDeltas 3.7214 ms/op
computeProposerBoostScoreFromBalances 921.00 us/op
altair processAttestation - 250000 vs - 7PWei normalcase 3.6649 ms/op
altair processAttestation - 250000 vs - 7PWei worstcase 5.4012 ms/op
altair processAttestation - setStatus - 1/6 committees join 204.95 us/op
altair processAttestation - setStatus - 1/3 committees join 392.50 us/op
altair processAttestation - setStatus - 1/2 committees join 545.41 us/op
altair processAttestation - setStatus - 2/3 committees join 699.82 us/op
altair processAttestation - setStatus - 4/5 committees join 970.69 us/op
altair processAttestation - setStatus - 100% committees join 1.1430 ms/op
altair processBlock - 250000 vs - 7PWei normalcase 31.807 ms/op
altair processBlock - 250000 vs - 7PWei normalcase hashState 44.861 ms/op
altair processBlock - 250000 vs - 7PWei worstcase 96.437 ms/op
altair processBlock - 250000 vs - 7PWei worstcase hashState 101.66 ms/op
phase0 processBlock - 250000 vs - 7PWei normalcase 3.9372 ms/op
phase0 processBlock - 250000 vs - 7PWei worstcase 46.394 ms/op
altair processEth1Data - 250000 vs - 7PWei normalcase 738.55 us/op
Tree 40 250000 create 743.26 ms/op
Tree 40 250000 get(125000) 315.40 ns/op
Tree 40 250000 set(125000) 2.0720 us/op
Tree 40 250000 toArray() 32.109 ms/op
Tree 40 250000 iterate all - toArray() + loop 32.742 ms/op
Tree 40 250000 iterate all - get(i) 109.00 ms/op
MutableVector 250000 create 21.942 ms/op
MutableVector 250000 get(125000) 15.006 ns/op
MutableVector 250000 set(125000) 483.36 ns/op
MutableVector 250000 toArray() 6.6918 ms/op
MutableVector 250000 iterate all - toArray() + loop 6.8251 ms/op
MutableVector 250000 iterate all - get(i) 3.2867 ms/op
Array 250000 create 6.1306 ms/op
Array 250000 clone - spread 2.6413 ms/op
Array 250000 get(125000) 1.1250 ns/op
Array 250000 set(125000) 1.1300 ns/op
Array 250000 iterate all - loop 167.81 us/op
effectiveBalanceIncrements clone Uint8Array 300000 58.470 us/op
effectiveBalanceIncrements clone MutableVector 300000 769.00 ns/op
effectiveBalanceIncrements rw all Uint8Array 300000 252.53 us/op
effectiveBalanceIncrements rw all MutableVector 300000 156.03 ms/op
phase0 afterProcessEpoch - 250000 vs - 7PWei 203.24 ms/op
phase0 beforeProcessEpoch - 250000 vs - 7PWei 139.36 ms/op
altair processEpoch - mainnet_e81889 705.39 ms/op
mainnet_e81889 - altair beforeProcessEpoch 203.87 ms/op
mainnet_e81889 - altair processJustificationAndFinalization 22.598 us/op
mainnet_e81889 - altair processInactivityUpdates 9.9895 ms/op
mainnet_e81889 - altair processRewardsAndPenalties 182.74 ms/op
mainnet_e81889 - altair processRegistryUpdates 4.0490 us/op
mainnet_e81889 - altair processSlashings 1.2930 us/op
mainnet_e81889 - altair processEth1DataReset 1.1140 us/op
mainnet_e81889 - altair processEffectiveBalanceUpdates 2.4320 ms/op
mainnet_e81889 - altair processSlashingsReset 11.361 us/op
mainnet_e81889 - altair processRandaoMixesReset 8.1040 us/op
mainnet_e81889 - altair processHistoricalRootsUpdate 1.2700 us/op
mainnet_e81889 - altair processParticipationFlagUpdates 4.8050 us/op
mainnet_e81889 - altair processSyncCommitteeUpdates 1.3100 us/op
mainnet_e81889 - altair afterProcessEpoch 194.14 ms/op
phase0 processEpoch - mainnet_e58758 673.40 ms/op
mainnet_e58758 - phase0 beforeProcessEpoch 286.73 ms/op
mainnet_e58758 - phase0 processJustificationAndFinalization 31.100 us/op
mainnet_e58758 - phase0 processRewardsAndPenalties 151.49 ms/op
mainnet_e58758 - phase0 processRegistryUpdates 15.791 us/op
mainnet_e58758 - phase0 processSlashings 1.4240 us/op
mainnet_e58758 - phase0 processEth1DataReset 1.3170 us/op
mainnet_e58758 - phase0 processEffectiveBalanceUpdates 2.1281 ms/op
mainnet_e58758 - phase0 processSlashingsReset 5.6720 us/op
mainnet_e58758 - phase0 processRandaoMixesReset 7.8250 us/op
mainnet_e58758 - phase0 processHistoricalRootsUpdate 1.2640 us/op
mainnet_e58758 - phase0 processParticipationRecordUpdates 6.8010 us/op
mainnet_e58758 - phase0 afterProcessEpoch 159.34 ms/op
phase0 processEffectiveBalanceUpdates - 250000 normalcase 2.7161 ms/op
phase0 processEffectiveBalanceUpdates - 250000 worstcase 0.5 3.2565 ms/op
altair processInactivityUpdates - 250000 normalcase 65.972 ms/op
altair processInactivityUpdates - 250000 worstcase 67.307 ms/op
phase0 processRegistryUpdates - 250000 normalcase 11.998 us/op
phase0 processRegistryUpdates - 250000 badcase_full_deposits 496.58 us/op
phase0 processRegistryUpdates - 250000 worstcase 0.5 260.76 ms/op
altair processRewardsAndPenalties - 250000 normalcase 162.00 ms/op
altair processRewardsAndPenalties - 250000 worstcase 159.44 ms/op
phase0 getAttestationDeltas - 250000 normalcase 11.931 ms/op
phase0 getAttestationDeltas - 250000 worstcase 12.099 ms/op
phase0 processSlashings - 250000 worstcase 6.0401 ms/op
altair processSyncCommitteeUpdates - 250000 267.31 ms/op
BeaconState.hashTreeRoot - No change 462.00 ns/op
BeaconState.hashTreeRoot - 1 full validator 55.368 us/op
BeaconState.hashTreeRoot - 32 full validator 637.82 us/op
BeaconState.hashTreeRoot - 512 full validator 7.5146 ms/op
BeaconState.hashTreeRoot - 1 validator.effectiveBalance 76.654 us/op
BeaconState.hashTreeRoot - 32 validator.effectiveBalance 1.3021 ms/op
BeaconState.hashTreeRoot - 512 validator.effectiveBalance 14.578 ms/op
BeaconState.hashTreeRoot - 1 balances 67.051 us/op
BeaconState.hashTreeRoot - 32 balances 576.57 us/op
BeaconState.hashTreeRoot - 512 balances 6.6902 ms/op
BeaconState.hashTreeRoot - 250000 balances 102.74 ms/op
aggregationBits - 2048 els - zipIndexesInBitList 27.062 us/op
regular array get 100000 times 67.477 us/op
wrappedArray get 100000 times 67.423 us/op
arrayWithProxy get 100000 times 34.180 ms/op
ssz.Root.equals 445.00 ns/op
byteArrayEquals 445.00 ns/op
shuffle list - 16384 els 11.292 ms/op
shuffle list - 250000 els 164.96 ms/op
processSlot - 1 slots 11.307 us/op
processSlot - 32 slots 1.6940 ms/op
getEffectiveBalanceIncrementsZeroInactive - 250000 vs - 7PWei 376.28 us/op
getCommitteeAssignments - req 1 vs - 250000 vc 5.3487 ms/op
getCommitteeAssignments - req 100 vs - 250000 vc 7.3301 ms/op
getCommitteeAssignments - req 1000 vs - 250000 vc 7.7833 ms/op
RootCache.getBlockRootAtSlot - 250000 vs - 7PWei 10.560 ns/op
state getBlockRootAtSlot - 250000 vs - 7PWei 1.0004 us/op
computeProposers - vc 250000 16.085 ms/op
computeEpochShuffling - vc 250000 170.21 ms/op
getNextSyncCommittee - vc 250000 269.54 ms/op

by benchmarkbot/action

* v1.0.0

* Frame encode ReqResp errors

* Fix e2e tests
@dapplion
Copy link
Contributor Author

Group version legend

  • feat2 = v1.0.0-rc*
  • beta = v0.42.0-rc*

Metrics looks good regarding resource usage and overall validator performance. Early tests or v1.0.0-rc.0 we say some issues in networking where this rc has less mesh peers overall than stable. After a couple fixes v1.0.0-rc.2 shows comparable mesh metrics than other version so I believe this version has equal performance than current stable.

Screenshot from 2022-08-23 15-21-05
Screenshot from 2022-08-23 15-21-20

Copy link
Member

@philknows philknows left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🚀 🚀 🚀

@dapplion dapplion merged commit 4fb7950 into stable Aug 23, 2022
@dapplion dapplion deleted the rc/v1.0.0 branch August 23, 2022 13:45
@wemeetagain wemeetagain mentioned this pull request Aug 23, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

9 participants