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

docs: update documentation Oct 2024 #7178

Merged
merged 15 commits into from
Nov 29, 2024
Merged

Conversation

philknows
Copy link
Member

Motivation

Our documentation has been undergoing incremental improvements to remove old content, update for relevance and add new content that hasn't been documented yet. This is one PR in a series of future PRs to improve docs for better user/developer experiences.

Related to #5961

Description

This PR addresses the following in our documentation:

  • Fixes footer and just links to pertinent communications/call to actions
  • Removes old .md files which were empty or otherwise, not being actively developed on
  • Removes Google site verification as we no longer use any Google type analytics
  • Spelling/grammar updates
  • Removes content relating to The Merge
  • Updates specification for hardware minimums/recommendations
  • Fixes broken links
  • Sidebar navigation updated to better arrange/detail information
  • Persist our quickstart custom setup guide into our documentation. Previously located at https://hackmd.io/@philknows/rJegZyH9q
  • Include proposer config documentation

More to come in future updates that were not included.

@philknows philknows requested a review from a team as a code owner October 19, 2024 06:07
Copy link

codecov bot commented Oct 19, 2024

Codecov Report

All modified and coverable lines are covered by tests ✅

Project coverage is 48.51%. Comparing base (aaac34a) to head (48fe25d).
Report is 1 commits behind head on unstable.

Additional details and impacted files
@@            Coverage Diff            @@
##           unstable    #7178   +/-   ##
=========================================
  Coverage     48.51%   48.51%           
=========================================
  Files           600      600           
  Lines         40138    40138           
  Branches       2058     2058           
=========================================
  Hits          19471    19471           
  Misses        20629    20629           
  Partials         38       38           

Copy link
Contributor

github-actions bot commented Oct 19, 2024

Performance Report

✔️ no performance regression detected

Full benchmark results
Benchmark suite Current: 69f5139 Previous: aaac34a Ratio
getPubkeys - index2pubkey - req 1000 vs - 250000 vc 1.7455 ms/op 2.3495 ms/op 0.74
getPubkeys - validatorsArr - req 1000 vs - 250000 vc 43.503 us/op 54.690 us/op 0.80
BLS verify - blst 897.79 us/op 877.88 us/op 1.02
BLS verifyMultipleSignatures 3 - blst 1.3561 ms/op 1.3142 ms/op 1.03
BLS verifyMultipleSignatures 8 - blst 2.1093 ms/op 1.7301 ms/op 1.22
BLS verifyMultipleSignatures 32 - blst 4.9425 ms/op 5.1367 ms/op 0.96
BLS verifyMultipleSignatures 64 - blst 8.6409 ms/op 9.7155 ms/op 0.89
BLS verifyMultipleSignatures 128 - blst 16.327 ms/op 18.178 ms/op 0.90
BLS deserializing 10000 signatures 636.37 ms/op 707.24 ms/op 0.90
BLS deserializing 100000 signatures 6.5055 s/op 7.0027 s/op 0.93
BLS verifyMultipleSignatures - same message - 3 - blst 962.25 us/op 909.28 us/op 1.06
BLS verifyMultipleSignatures - same message - 8 - blst 1.1351 ms/op 1.0677 ms/op 1.06
BLS verifyMultipleSignatures - same message - 32 - blst 1.7267 ms/op 1.7150 ms/op 1.01
BLS verifyMultipleSignatures - same message - 64 - blst 2.5292 ms/op 2.5694 ms/op 0.98
BLS verifyMultipleSignatures - same message - 128 - blst 4.0859 ms/op 4.3791 ms/op 0.93
BLS aggregatePubkeys 32 - blst 18.168 us/op 19.448 us/op 0.93
BLS aggregatePubkeys 128 - blst 63.641 us/op 69.584 us/op 0.91
notSeenSlots=1 numMissedVotes=1 numBadVotes=10 94.593 ms/op 55.837 ms/op 1.69
notSeenSlots=1 numMissedVotes=0 numBadVotes=4 58.808 ms/op 55.150 ms/op 1.07
notSeenSlots=2 numMissedVotes=1 numBadVotes=10 45.180 ms/op 50.674 ms/op 0.89
getSlashingsAndExits - default max 102.50 us/op 115.11 us/op 0.89
getSlashingsAndExits - 2k 329.34 us/op 271.42 us/op 1.21
proposeBlockBody type=full, size=empty 5.4159 ms/op 5.9290 ms/op 0.91
isKnown best case - 1 super set check 499.00 ns/op 285.00 ns/op 1.75
isKnown normal case - 2 super set checks 512.00 ns/op 281.00 ns/op 1.82
isKnown worse case - 16 super set checks 523.00 ns/op 292.00 ns/op 1.79
InMemoryCheckpointStateCache - add get delete 3.5110 us/op 2.9220 us/op 1.20
validate api signedAggregateAndProof - struct 1.4903 ms/op 1.3995 ms/op 1.06
validate gossip signedAggregateAndProof - struct 1.4709 ms/op 1.4625 ms/op 1.01
batch validate gossip attestation - vc 640000 - chunk 32 137.01 us/op 128.83 us/op 1.06
batch validate gossip attestation - vc 640000 - chunk 64 120.28 us/op 112.79 us/op 1.07
batch validate gossip attestation - vc 640000 - chunk 128 106.45 us/op 104.12 us/op 1.02
batch validate gossip attestation - vc 640000 - chunk 256 114.07 us/op 107.72 us/op 1.06
pickEth1Vote - no votes 1.0159 ms/op 1.1445 ms/op 0.89
pickEth1Vote - max votes 8.1131 ms/op 6.2161 ms/op 1.31
pickEth1Vote - Eth1Data hashTreeRoot value x2048 13.930 ms/op 15.655 ms/op 0.89
pickEth1Vote - Eth1Data hashTreeRoot tree x2048 22.525 ms/op 21.357 ms/op 1.05
pickEth1Vote - Eth1Data fastSerialize value x2048 464.67 us/op 573.76 us/op 0.81
pickEth1Vote - Eth1Data fastSerialize tree x2048 3.9367 ms/op 2.7316 ms/op 1.44
bytes32 toHexString 899.00 ns/op 497.00 ns/op 1.81
bytes32 Buffer.toString(hex) 552.00 ns/op 260.00 ns/op 2.12
bytes32 Buffer.toString(hex) from Uint8Array 736.00 ns/op 436.00 ns/op 1.69
bytes32 Buffer.toString(hex) + 0x 563.00 ns/op 269.00 ns/op 2.09
Object access 1 prop 0.38500 ns/op 0.14500 ns/op 2.66
Map access 1 prop 0.34000 ns/op 0.13700 ns/op 2.48
Object get x1000 5.2230 ns/op 6.1240 ns/op 0.85
Map get x1000 5.9610 ns/op 6.4310 ns/op 0.93
Object set x1000 40.267 ns/op 35.694 ns/op 1.13
Map set x1000 35.062 ns/op 24.693 ns/op 1.42
Return object 10000 times 0.31380 ns/op 0.30440 ns/op 1.03
Throw Error 10000 times 2.8795 us/op 3.5492 us/op 0.81
toHex 138.69 ns/op 166.71 ns/op 0.83
Buffer.from 134.99 ns/op 156.91 ns/op 0.86
shared Buffer 81.459 ns/op 96.598 ns/op 0.84
fastMsgIdFn sha256 / 200 bytes 2.3510 us/op 2.3880 us/op 0.98
fastMsgIdFn h32 xxhash / 200 bytes 522.00 ns/op 286.00 ns/op 1.83
fastMsgIdFn h64 xxhash / 200 bytes 525.00 ns/op 274.00 ns/op 1.92
fastMsgIdFn sha256 / 1000 bytes 6.2810 us/op 7.7420 us/op 0.81
fastMsgIdFn h32 xxhash / 1000 bytes 641.00 ns/op 408.00 ns/op 1.57
fastMsgIdFn h64 xxhash / 1000 bytes 595.00 ns/op 362.00 ns/op 1.64
fastMsgIdFn sha256 / 10000 bytes 52.806 us/op 66.292 us/op 0.80
fastMsgIdFn h32 xxhash / 10000 bytes 2.0650 us/op 1.9680 us/op 1.05
fastMsgIdFn h64 xxhash / 10000 bytes 1.4180 us/op 1.2870 us/op 1.10
send data - 1000 256B messages 13.037 ms/op 14.632 ms/op 0.89
send data - 1000 512B messages 17.528 ms/op 19.536 ms/op 0.90
send data - 1000 1024B messages 27.965 ms/op 28.528 ms/op 0.98
send data - 1000 1200B messages 24.233 ms/op 27.238 ms/op 0.89
send data - 1000 2048B messages 28.747 ms/op 34.959 ms/op 0.82
send data - 1000 4096B messages 29.314 ms/op 33.270 ms/op 0.88
send data - 1000 16384B messages 64.489 ms/op 74.311 ms/op 0.87
send data - 1000 65536B messages 272.58 ms/op 224.41 ms/op 1.21
enrSubnets - fastDeserialize 64 bits 1.2210 us/op 1.2460 us/op 0.98
enrSubnets - ssz BitVector 64 bits 558.00 ns/op 368.00 ns/op 1.52
enrSubnets - fastDeserialize 4 bits 403.00 ns/op 196.00 ns/op 2.06
enrSubnets - ssz BitVector 4 bits 611.00 ns/op 463.00 ns/op 1.32
prioritizePeers score -10:0 att 32-0.1 sync 2-0 172.88 us/op 215.48 us/op 0.80
prioritizePeers score 0:0 att 32-0.25 sync 2-0.25 159.65 us/op 151.84 us/op 1.05
prioritizePeers score 0:0 att 32-0.5 sync 2-0.5 243.49 us/op 360.59 us/op 0.68
prioritizePeers score 0:0 att 64-0.75 sync 4-0.75 454.31 us/op 457.59 us/op 0.99
prioritizePeers score 0:0 att 64-1 sync 4-1 681.43 us/op 828.33 us/op 0.82
array of 16000 items push then shift 1.3719 us/op 1.7721 us/op 0.77
LinkedList of 16000 items push then shift 6.7670 ns/op 8.0550 ns/op 0.84
array of 16000 items push then pop 134.96 ns/op 136.73 ns/op 0.99
LinkedList of 16000 items push then pop 6.5380 ns/op 7.6050 ns/op 0.86
array of 24000 items push then shift 2.0019 us/op 2.5424 us/op 0.79
LinkedList of 24000 items push then shift 6.5790 ns/op 7.9910 ns/op 0.82
array of 24000 items push then pop 195.79 ns/op 184.89 ns/op 1.06
LinkedList of 24000 items push then pop 6.5980 ns/op 8.0050 ns/op 0.82
intersect bitArray bitLen 8 5.9750 ns/op 6.9250 ns/op 0.86
intersect array and set length 8 42.195 ns/op 70.080 ns/op 0.60
intersect bitArray bitLen 128 27.616 ns/op 32.234 ns/op 0.86
intersect array and set length 128 605.36 ns/op 931.98 ns/op 0.65
bitArray.getTrueBitIndexes() bitLen 128 2.6970 us/op 2.2830 us/op 1.18
bitArray.getTrueBitIndexes() bitLen 248 3.2820 us/op 3.8590 us/op 0.85
bitArray.getTrueBitIndexes() bitLen 512 6.9180 us/op 9.0010 us/op 0.77
Buffer.concat 32 items 1.1070 us/op 1.0520 us/op 1.05
Uint8Array.set 32 items 1.5260 us/op 1.7340 us/op 0.88
Buffer.copy 2.3420 us/op 1.8530 us/op 1.26
Uint8Array.set - with subarray 2.1790 us/op 2.8990 us/op 0.75
Uint8Array.set - without subarray 1.6510 us/op 1.7320 us/op 0.95
getUint32 - dataview 483.00 ns/op 292.00 ns/op 1.65
getUint32 - manual 442.00 ns/op 223.00 ns/op 1.98
Set add up to 64 items then delete first 1.9358 us/op 2.8720 us/op 0.67
OrderedSet add up to 64 items then delete first 2.8969 us/op 4.8879 us/op 0.59
Set add up to 64 items then delete last 2.0640 us/op 3.3975 us/op 0.61
OrderedSet add up to 64 items then delete last 3.1059 us/op 4.1919 us/op 0.74
Set add up to 64 items then delete middle 2.2962 us/op 3.3042 us/op 0.69
OrderedSet add up to 64 items then delete middle 5.3498 us/op 6.3160 us/op 0.85
Set add up to 128 items then delete first 4.8595 us/op 6.1725 us/op 0.79
OrderedSet add up to 128 items then delete first 7.6782 us/op 10.365 us/op 0.74
Set add up to 128 items then delete last 4.6089 us/op 6.5444 us/op 0.70
OrderedSet add up to 128 items then delete last 6.5924 us/op 8.5805 us/op 0.77
Set add up to 128 items then delete middle 4.4128 us/op 5.4645 us/op 0.81
OrderedSet add up to 128 items then delete middle 13.584 us/op 16.751 us/op 0.81
Set add up to 256 items then delete first 9.4429 us/op 13.392 us/op 0.71
OrderedSet add up to 256 items then delete first 15.038 us/op 20.530 us/op 0.73
Set add up to 256 items then delete last 8.8871 us/op 12.176 us/op 0.73
OrderedSet add up to 256 items then delete last 14.282 us/op 20.031 us/op 0.71
Set add up to 256 items then delete middle 7.7565 us/op 13.529 us/op 0.57
OrderedSet add up to 256 items then delete middle 38.477 us/op 48.363 us/op 0.80
transfer serialized Status (84 B) 1.4640 us/op 1.5870 us/op 0.92
copy serialized Status (84 B) 1.3420 us/op 1.3900 us/op 0.97
transfer serialized SignedVoluntaryExit (112 B) 1.5050 us/op 1.6890 us/op 0.89
copy serialized SignedVoluntaryExit (112 B) 1.4260 us/op 1.6840 us/op 0.85
transfer serialized ProposerSlashing (416 B) 1.6750 us/op 2.1280 us/op 0.79
copy serialized ProposerSlashing (416 B) 1.9620 us/op 2.2040 us/op 0.89
transfer serialized Attestation (485 B) 2.1710 us/op 2.2270 us/op 0.97
copy serialized Attestation (485 B) 2.2010 us/op 2.1420 us/op 1.03
transfer serialized AttesterSlashing (33232 B) 2.6650 us/op 2.0300 us/op 1.31
copy serialized AttesterSlashing (33232 B) 4.1430 us/op 9.0790 us/op 0.46
transfer serialized Small SignedBeaconBlock (128000 B) 1.7620 us/op 3.7720 us/op 0.47
copy serialized Small SignedBeaconBlock (128000 B) 14.334 us/op 33.016 us/op 0.43
transfer serialized Avg SignedBeaconBlock (200000 B) 1.7920 us/op 5.1920 us/op 0.35
copy serialized Avg SignedBeaconBlock (200000 B) 13.763 us/op 48.725 us/op 0.28
transfer serialized BlobsSidecar (524380 B) 2.8700 us/op 6.3670 us/op 0.45
copy serialized BlobsSidecar (524380 B) 125.85 us/op 143.09 us/op 0.88
transfer serialized Big SignedBeaconBlock (1000000 B) 3.3140 us/op 6.0330 us/op 0.55
copy serialized Big SignedBeaconBlock (1000000 B) 351.53 us/op 242.49 us/op 1.45
pass gossip attestations to forkchoice per slot 2.5283 ms/op 3.0669 ms/op 0.82
forkChoice updateHead vc 100000 bc 64 eq 0 407.56 us/op 472.06 us/op 0.86
forkChoice updateHead vc 600000 bc 64 eq 0 4.0755 ms/op 5.7135 ms/op 0.71
forkChoice updateHead vc 1000000 bc 64 eq 0 4.1157 ms/op 6.0334 ms/op 0.68
forkChoice updateHead vc 600000 bc 320 eq 0 2.3805 ms/op 3.1215 ms/op 0.76
forkChoice updateHead vc 600000 bc 1200 eq 0 2.4383 ms/op 3.3725 ms/op 0.72
forkChoice updateHead vc 600000 bc 7200 eq 0 2.7097 ms/op 5.0891 ms/op 0.53
forkChoice updateHead vc 600000 bc 64 eq 1000 9.4858 ms/op 11.009 ms/op 0.86
forkChoice updateHead vc 600000 bc 64 eq 10000 9.4246 ms/op 10.948 ms/op 0.86
forkChoice updateHead vc 600000 bc 64 eq 300000 13.720 ms/op 24.333 ms/op 0.56
computeDeltas 500000 validators 300 proto nodes 3.5070 ms/op 4.6616 ms/op 0.75
computeDeltas 500000 validators 1200 proto nodes 3.4625 ms/op 4.2515 ms/op 0.81
computeDeltas 500000 validators 7200 proto nodes 3.4824 ms/op 4.1258 ms/op 0.84
computeDeltas 750000 validators 300 proto nodes 5.2482 ms/op 6.2082 ms/op 0.85
computeDeltas 750000 validators 1200 proto nodes 5.0836 ms/op 6.2369 ms/op 0.82
computeDeltas 750000 validators 7200 proto nodes 5.0694 ms/op 6.2663 ms/op 0.81
computeDeltas 1400000 validators 300 proto nodes 9.3506 ms/op 11.933 ms/op 0.78
computeDeltas 1400000 validators 1200 proto nodes 9.2891 ms/op 11.969 ms/op 0.78
computeDeltas 1400000 validators 7200 proto nodes 9.2244 ms/op 11.774 ms/op 0.78
computeDeltas 2100000 validators 300 proto nodes 13.818 ms/op 18.218 ms/op 0.76
computeDeltas 2100000 validators 1200 proto nodes 13.926 ms/op 17.847 ms/op 0.78
computeDeltas 2100000 validators 7200 proto nodes 14.047 ms/op 17.862 ms/op 0.79
altair processAttestation - 250000 vs - 7PWei normalcase 1.4195 ms/op 1.8878 ms/op 0.75
altair processAttestation - 250000 vs - 7PWei worstcase 2.2431 ms/op 2.9955 ms/op 0.75
altair processAttestation - setStatus - 1/6 committees join 70.468 us/op 92.510 us/op 0.76
altair processAttestation - setStatus - 1/3 committees join 134.32 us/op 189.41 us/op 0.71
altair processAttestation - setStatus - 1/2 committees join 192.56 us/op 257.77 us/op 0.75
altair processAttestation - setStatus - 2/3 committees join 273.65 us/op 330.10 us/op 0.83
altair processAttestation - setStatus - 4/5 committees join 388.71 us/op 488.69 us/op 0.80
altair processAttestation - setStatus - 100% committees join 478.39 us/op 576.59 us/op 0.83
altair processBlock - 250000 vs - 7PWei normalcase 4.3795 ms/op 4.1955 ms/op 1.04
altair processBlock - 250000 vs - 7PWei normalcase hashState 21.804 ms/op 22.731 ms/op 0.96
altair processBlock - 250000 vs - 7PWei worstcase 32.374 ms/op 33.569 ms/op 0.96
altair processBlock - 250000 vs - 7PWei worstcase hashState 59.059 ms/op 64.150 ms/op 0.92
phase0 processBlock - 250000 vs - 7PWei normalcase 1.8261 ms/op 1.7063 ms/op 1.07
phase0 processBlock - 250000 vs - 7PWei worstcase 23.085 ms/op 21.187 ms/op 1.09
altair processEth1Data - 250000 vs - 7PWei normalcase 245.58 us/op 335.47 us/op 0.73
getExpectedWithdrawals 250000 eb:1,eth1:1,we:0,wn:0,smpl:15 4.7940 us/op 5.7870 us/op 0.83
getExpectedWithdrawals 250000 eb:0.95,eth1:0.1,we:0.05,wn:0,smpl:219 27.944 us/op 37.808 us/op 0.74
getExpectedWithdrawals 250000 eb:0.95,eth1:0.3,we:0.05,wn:0,smpl:42 8.2450 us/op 11.502 us/op 0.72
getExpectedWithdrawals 250000 eb:0.95,eth1:0.7,we:0.05,wn:0,smpl:18 5.1180 us/op 7.0130 us/op 0.73
getExpectedWithdrawals 250000 eb:0.1,eth1:0.1,we:0,wn:0,smpl:1020 118.85 us/op 154.67 us/op 0.77
getExpectedWithdrawals 250000 eb:0.03,eth1:0.03,we:0,wn:0,smpl:11777 805.80 us/op 1.1599 ms/op 0.69
getExpectedWithdrawals 250000 eb:0.01,eth1:0.01,we:0,wn:0,smpl:16384 1.1303 ms/op 1.4943 ms/op 0.76
getExpectedWithdrawals 250000 eb:0,eth1:0,we:0,wn:0,smpl:16384 1.1845 ms/op 1.4877 ms/op 0.80
getExpectedWithdrawals 250000 eb:0,eth1:0,we:0,wn:0,nocache,smpl:16384 2.9686 ms/op 3.7827 ms/op 0.78
getExpectedWithdrawals 250000 eb:0,eth1:1,we:0,wn:0,smpl:16384 1.1413 ms/op 1.5536 ms/op 0.73
getExpectedWithdrawals 250000 eb:0,eth1:1,we:0,wn:0,nocache,smpl:16384 2.9568 ms/op 3.8247 ms/op 0.77
Tree 40 250000 create 202.54 ms/op 219.94 ms/op 0.92
Tree 40 250000 get(125000) 114.00 ns/op 141.96 ns/op 0.80
Tree 40 250000 set(125000) 532.47 ns/op 676.55 ns/op 0.79
Tree 40 250000 toArray() 10.074 ms/op 19.927 ms/op 0.51
Tree 40 250000 iterate all - toArray() + loop 10.520 ms/op 17.129 ms/op 0.61
Tree 40 250000 iterate all - get(i) 42.726 ms/op 57.532 ms/op 0.74
Array 250000 create 3.4493 ms/op 2.9187 ms/op 1.18
Array 250000 clone - spread 1.2598 ms/op 1.5539 ms/op 0.81
Array 250000 get(125000) 0.58700 ns/op 0.42500 ns/op 1.38
Array 250000 set(125000) 0.59000 ns/op 0.44300 ns/op 1.33
Array 250000 iterate all - loop 77.031 us/op 104.17 us/op 0.74
phase0 afterProcessEpoch - 250000 vs - 7PWei 44.805 ms/op 49.890 ms/op 0.90
Array.fill - length 1000000 2.5564 ms/op 3.9387 ms/op 0.65
Array push - length 1000000 15.479 ms/op 17.075 ms/op 0.91
Array.get 0.26909 ns/op 0.31370 ns/op 0.86
Uint8Array.get 0.34791 ns/op 0.45950 ns/op 0.76
phase0 beforeProcessEpoch - 250000 vs - 7PWei 15.766 ms/op 20.712 ms/op 0.76
altair processEpoch - mainnet_e81889 276.03 ms/op 298.34 ms/op 0.93
mainnet_e81889 - altair beforeProcessEpoch 17.795 ms/op 22.512 ms/op 0.79
mainnet_e81889 - altair processJustificationAndFinalization 13.765 us/op 13.359 us/op 1.03
mainnet_e81889 - altair processInactivityUpdates 4.5736 ms/op 7.0656 ms/op 0.65
mainnet_e81889 - altair processRewardsAndPenalties 48.539 ms/op 51.371 ms/op 0.94
mainnet_e81889 - altair processRegistryUpdates 1.9450 us/op 4.2170 us/op 0.46
mainnet_e81889 - altair processSlashings 760.00 ns/op 558.00 ns/op 1.36
mainnet_e81889 - altair processEth1DataReset 730.00 ns/op 377.00 ns/op 1.94
mainnet_e81889 - altair processEffectiveBalanceUpdates 1.6727 ms/op 1.9351 ms/op 0.86
mainnet_e81889 - altair processSlashingsReset 2.9700 us/op 4.0160 us/op 0.74
mainnet_e81889 - altair processRandaoMixesReset 6.5660 us/op 4.1570 us/op 1.58
mainnet_e81889 - altair processHistoricalRootsUpdate 912.00 ns/op 1.3630 us/op 0.67
mainnet_e81889 - altair processParticipationFlagUpdates 2.3260 us/op 2.7360 us/op 0.85
mainnet_e81889 - altair processSyncCommitteeUpdates 960.00 ns/op 376.00 ns/op 2.55
mainnet_e81889 - altair afterProcessEpoch 44.044 ms/op 52.686 ms/op 0.84
capella processEpoch - mainnet_e217614 899.00 ms/op 1.1427 s/op 0.79
mainnet_e217614 - capella beforeProcessEpoch 76.114 ms/op 78.756 ms/op 0.97
mainnet_e217614 - capella processJustificationAndFinalization 18.417 us/op 17.065 us/op 1.08
mainnet_e217614 - capella processInactivityUpdates 15.506 ms/op 19.267 ms/op 0.80
mainnet_e217614 - capella processRewardsAndPenalties 230.31 ms/op 228.86 ms/op 1.01
mainnet_e217614 - capella processRegistryUpdates 14.610 us/op 14.328 us/op 1.02
mainnet_e217614 - capella processSlashings 889.00 ns/op 372.00 ns/op 2.39
mainnet_e217614 - capella processEth1DataReset 863.00 ns/op 335.00 ns/op 2.58
mainnet_e217614 - capella processEffectiveBalanceUpdates 16.240 ms/op 16.306 ms/op 1.00
mainnet_e217614 - capella processSlashingsReset 5.1430 us/op 3.6900 us/op 1.39
mainnet_e217614 - capella processRandaoMixesReset 6.1910 us/op 8.4390 us/op 0.73
mainnet_e217614 - capella processHistoricalRootsUpdate 1.3760 us/op 396.00 ns/op 3.47
mainnet_e217614 - capella processParticipationFlagUpdates 2.9780 us/op 2.0470 us/op 1.45
mainnet_e217614 - capella afterProcessEpoch 107.66 ms/op 127.16 ms/op 0.85
phase0 processEpoch - mainnet_e58758 355.84 ms/op 331.61 ms/op 1.07
mainnet_e58758 - phase0 beforeProcessEpoch 78.253 ms/op 70.608 ms/op 1.11
mainnet_e58758 - phase0 processJustificationAndFinalization 21.790 us/op 14.031 us/op 1.55
mainnet_e58758 - phase0 processRewardsAndPenalties 32.246 ms/op 27.221 ms/op 1.18
mainnet_e58758 - phase0 processRegistryUpdates 12.282 us/op 7.2100 us/op 1.70
mainnet_e58758 - phase0 processSlashings 1.0140 us/op 315.00 ns/op 3.22
mainnet_e58758 - phase0 processEth1DataReset 1.0200 us/op 296.00 ns/op 3.45
mainnet_e58758 - phase0 processEffectiveBalanceUpdates 1.1050 ms/op 1.1999 ms/op 0.92
mainnet_e58758 - phase0 processSlashingsReset 6.6840 us/op 3.2400 us/op 2.06
mainnet_e58758 - phase0 processRandaoMixesReset 7.9030 us/op 3.6910 us/op 2.14
mainnet_e58758 - phase0 processHistoricalRootsUpdate 996.00 ns/op 345.00 ns/op 2.89
mainnet_e58758 - phase0 processParticipationRecordUpdates 4.0270 us/op 3.5360 us/op 1.14
mainnet_e58758 - phase0 afterProcessEpoch 42.164 ms/op 44.258 ms/op 0.95
phase0 processEffectiveBalanceUpdates - 250000 normalcase 1.2717 ms/op 1.9422 ms/op 0.65
phase0 processEffectiveBalanceUpdates - 250000 worstcase 0.5 1.5046 ms/op 2.0129 ms/op 0.75
altair processInactivityUpdates - 250000 normalcase 21.060 ms/op 14.560 ms/op 1.45
altair processInactivityUpdates - 250000 worstcase 18.118 ms/op 15.818 ms/op 1.15
phase0 processRegistryUpdates - 250000 normalcase 11.105 us/op 6.9630 us/op 1.59
phase0 processRegistryUpdates - 250000 badcase_full_deposits 318.61 us/op 285.97 us/op 1.11
phase0 processRegistryUpdates - 250000 worstcase 0.5 141.63 ms/op 116.01 ms/op 1.22
altair processRewardsAndPenalties - 250000 normalcase 47.387 ms/op 37.024 ms/op 1.28
altair processRewardsAndPenalties - 250000 worstcase 35.651 ms/op 36.976 ms/op 0.96
phase0 getAttestationDeltas - 250000 normalcase 6.5145 ms/op 9.8656 ms/op 0.66
phase0 getAttestationDeltas - 250000 worstcase 7.3167 ms/op 8.1073 ms/op 0.90
phase0 processSlashings - 250000 worstcase 84.035 us/op 109.17 us/op 0.77
altair processSyncCommitteeUpdates - 250000 112.74 ms/op 129.32 ms/op 0.87
BeaconState.hashTreeRoot - No change 465.00 ns/op 225.00 ns/op 2.07
BeaconState.hashTreeRoot - 1 full validator 149.81 us/op 97.307 us/op 1.54
BeaconState.hashTreeRoot - 32 full validator 1.0210 ms/op 1.0156 ms/op 1.01
BeaconState.hashTreeRoot - 512 full validator 10.996 ms/op 10.436 ms/op 1.05
BeaconState.hashTreeRoot - 1 validator.effectiveBalance 151.48 us/op 171.77 us/op 0.88
BeaconState.hashTreeRoot - 32 validator.effectiveBalance 2.0082 ms/op 1.8493 ms/op 1.09
BeaconState.hashTreeRoot - 512 validator.effectiveBalance 29.112 ms/op 22.061 ms/op 1.32
BeaconState.hashTreeRoot - 1 balances 110.32 us/op 95.315 us/op 1.16
BeaconState.hashTreeRoot - 32 balances 1.4709 ms/op 820.88 us/op 1.79
BeaconState.hashTreeRoot - 512 balances 10.464 ms/op 7.7462 ms/op 1.35
BeaconState.hashTreeRoot - 250000 balances 175.56 ms/op 170.49 ms/op 1.03
aggregationBits - 2048 els - zipIndexesInBitList 39.431 us/op 32.810 us/op 1.20
byteArrayEquals 32 50.244 ns/op 54.073 ns/op 0.93
Buffer.compare 32 16.034 ns/op 19.118 ns/op 0.84
byteArrayEquals 1024 1.3065 us/op 1.5997 us/op 0.82
Buffer.compare 1024 24.967 ns/op 26.058 ns/op 0.96
byteArrayEquals 16384 20.840 us/op 25.470 us/op 0.82
Buffer.compare 16384 171.57 ns/op 204.72 ns/op 0.84
byteArrayEquals 123687377 153.83 ms/op 195.82 ms/op 0.79
Buffer.compare 123687377 4.5971 ms/op 8.2975 ms/op 0.55
byteArrayEquals 32 - diff last byte 48.472 ns/op 53.325 ns/op 0.91
Buffer.compare 32 - diff last byte 16.322 ns/op 17.679 ns/op 0.92
byteArrayEquals 1024 - diff last byte 1.2895 us/op 1.6173 us/op 0.80
Buffer.compare 1024 - diff last byte 24.301 ns/op 27.148 ns/op 0.90
byteArrayEquals 16384 - diff last byte 19.893 us/op 25.883 us/op 0.77
Buffer.compare 16384 - diff last byte 190.82 ns/op 215.19 ns/op 0.89
byteArrayEquals 123687377 - diff last byte 150.75 ms/op 200.01 ms/op 0.75
Buffer.compare 123687377 - diff last byte 5.2786 ms/op 8.2499 ms/op 0.64
byteArrayEquals 32 - random bytes 5.0420 ns/op 5.3690 ns/op 0.94
Buffer.compare 32 - random bytes 16.266 ns/op 17.833 ns/op 0.91
byteArrayEquals 1024 - random bytes 5.0660 ns/op 5.6060 ns/op 0.90
Buffer.compare 1024 - random bytes 15.993 ns/op 17.720 ns/op 0.90
byteArrayEquals 16384 - random bytes 5.0600 ns/op 5.3260 ns/op 0.95
Buffer.compare 16384 - random bytes 16.065 ns/op 17.985 ns/op 0.89
byteArrayEquals 123687377 - random bytes 7.9600 ns/op 6.6700 ns/op 1.19
Buffer.compare 123687377 - random bytes 19.420 ns/op 19.060 ns/op 1.02
regular array get 100000 times 31.870 us/op 33.976 us/op 0.94
wrappedArray get 100000 times 31.959 us/op 33.498 us/op 0.95
arrayWithProxy get 100000 times 10.057 ms/op 13.766 ms/op 0.73
ssz.Root.equals 46.529 ns/op 47.979 ns/op 0.97
byteArrayEquals 44.290 ns/op 47.287 ns/op 0.94
Buffer.compare 9.3220 ns/op 10.907 ns/op 0.85
processSlot - 1 slots 14.888 us/op 15.360 us/op 0.97
processSlot - 32 slots 3.3094 ms/op 2.7917 ms/op 1.19
getEffectiveBalanceIncrementsZeroInactive - 250000 vs - 7PWei 38.714 ms/op 38.543 ms/op 1.00
getCommitteeAssignments - req 1 vs - 250000 vc 1.8306 ms/op 2.1525 ms/op 0.85
getCommitteeAssignments - req 100 vs - 250000 vc 3.6133 ms/op 4.2573 ms/op 0.85
getCommitteeAssignments - req 1000 vs - 250000 vc 3.8118 ms/op 4.5261 ms/op 0.84
findModifiedValidators - 10000 modified validators 294.97 ms/op 311.88 ms/op 0.95
findModifiedValidators - 1000 modified validators 214.75 ms/op 207.68 ms/op 1.03
findModifiedValidators - 100 modified validators 156.31 ms/op 199.88 ms/op 0.78
findModifiedValidators - 10 modified validators 155.40 ms/op 227.75 ms/op 0.68
findModifiedValidators - 1 modified validators 140.81 ms/op 201.75 ms/op 0.70
findModifiedValidators - no difference 162.62 ms/op 224.59 ms/op 0.72
compare ViewDUs 3.5463 s/op 3.4082 s/op 1.04
compare each validator Uint8Array 1.6847 s/op 1.5290 s/op 1.10
compare ViewDU to Uint8Array 1.1280 s/op 1.2732 s/op 0.89
migrate state 1000000 validators, 24 modified, 0 new 795.24 ms/op 753.94 ms/op 1.05
migrate state 1000000 validators, 1700 modified, 1000 new 1.0014 s/op 933.86 ms/op 1.07
migrate state 1000000 validators, 3400 modified, 2000 new 1.2716 s/op 1.2833 s/op 0.99
migrate state 1500000 validators, 24 modified, 0 new 666.01 ms/op 826.97 ms/op 0.81
migrate state 1500000 validators, 1700 modified, 1000 new 872.27 ms/op 1.1504 s/op 0.76
migrate state 1500000 validators, 3400 modified, 2000 new 1.2361 s/op 1.1563 s/op 1.07
RootCache.getBlockRootAtSlot - 250000 vs - 7PWei 7.7100 ns/op 4.7000 ns/op 1.64
state getBlockRootAtSlot - 250000 vs - 7PWei 444.69 ns/op 486.30 ns/op 0.91
computeProposers - vc 250000 5.4204 ms/op 7.0320 ms/op 0.77
computeEpochShuffling - vc 250000 34.957 ms/op 43.798 ms/op 0.80
getNextSyncCommittee - vc 250000 95.540 ms/op 125.92 ms/op 0.76
computeSigningRoot for AttestationData 15.813 us/op 21.334 us/op 0.74
hash AttestationData serialized data then Buffer.toString(base64) 1.2164 us/op 1.6437 us/op 0.74
toHexString serialized data 764.99 ns/op 973.21 ns/op 0.79
Buffer.toString(base64) 144.20 ns/op 188.57 ns/op 0.76
nodejs block root to RootHex using toHex 125.86 ns/op 155.30 ns/op 0.81
nodejs block root to RootHex using toRootHex 79.001 ns/op 97.786 ns/op 0.81
browser block root to RootHex using the deprecated toHexString 213.33 ns/op 231.54 ns/op 0.92
browser block root to RootHex using toHex 172.21 ns/op 182.97 ns/op 0.94
browser block root to RootHex using toRootHex 149.33 ns/op 167.49 ns/op 0.89

by benchmarkbot/action

Copy link
Contributor

@ensi321 ensi321 left a comment

Choose a reason for hiding this comment

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

Good work! Some initial comments. Haven't gone through the entire PR yet


This documentation is open source, contribute at [Github Lodestar repository /docs](https://github.com/ChainSafe/lodestar/tree/unstable/docs).
If you run the [execution client](https://ethereum.org/en/developers/docs/nodes-and-clients/#execution-clients) on the same host, you will need to check their requirements and add them to the above requirements.
Copy link
Contributor

Choose a reason for hiding this comment

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

Shall we also add a hardware expectation for running EL+CL like what Nimbus does here?
Broadly, to run both an execution and a consensus client on the same machine, we recommend a 2 TB SSD and 16 GB RAM.

https://nimbus.guide/hardware.html

Copy link
Member Author

Choose a reason for hiding this comment

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

I opted not to only because of the variations of the different EL clients. Will be easier IMO to just have the user figure out their recommendations and add it to our recommendations.

Copy link
Member

Choose a reason for hiding this comment

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

Broadly, to run both an execution and a consensus client on the same machine, we recommend a 2 TB SSD and 16 GB RAM.

I am not sure this is even a good recommendation anymore, I generally recommend people to go for 4TB nowadays since it's unknown when we will ship the verge + blob count increase adds further storage burden.

16GB is also bit tight for Lodestar with most other ELs, it's not sufficient with Nethermind for example, my server is sitting at 17.2GB

docs/pages/introduction.md Outdated Show resolved Hide resolved
Copy link
Member

@nflaig nflaig left a comment

Choose a reason for hiding this comment

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

Looks pretty good overall!


This documentation is open source, contribute at [Github Lodestar repository /docs](https://github.com/ChainSafe/lodestar/tree/unstable/docs).
If you run the [execution client](https://ethereum.org/en/developers/docs/nodes-and-clients/#execution-clients) on the same host, you will need to check their requirements and add them to the above requirements.
Copy link
Member

Choose a reason for hiding this comment

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

Broadly, to run both an execution and a consensus client on the same machine, we recommend a 2 TB SSD and 16 GB RAM.

I am not sure this is even a good recommendation anymore, I generally recommend people to go for 4TB nowadays since it's unknown when we will ship the verge + blob count increase adds further storage burden.

16GB is also bit tight for Lodestar with most other ELs, it's not sufficient with Nethermind for example, my server is sitting at 17.2GB

docs/pages/introduction.md Outdated Show resolved Hide resolved
docs/pages/run/validator-management/proposer-config.md Outdated Show resolved Hide resolved
docs/pages/run/validator-management/vc-configuration.md Outdated Show resolved Hide resolved

### Enable Proposer Configuration

After you have configured your proposer configuration YAML file, you can start Lodestar with an additional CLI flag option pointing to the file: `--proposerSettingsFile /path/to/proposer_config.yaml`.
Copy link
Member

Choose a reason for hiding this comment

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

should the flag be called --proposerConfigFile instead? we could keep the old name as an alias

Copy link
Member Author

Choose a reason for hiding this comment

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

I wouldn't be opposed to this idea, but it should be done in a different PR as it's touching a lot of other things, especially outside of documentation which this PR addresses.

@philknows
Copy link
Member Author

Can I get 1 more quick check on this so it deploys with v1.23.1 please? @nflaig @ensi321

@nflaig
Copy link
Member

nflaig commented Nov 29, 2024

Can I get 1 more quick check on this so it deploys with v1.23.1 please? @nflaig @ensi321

We don't have to include docs changes in the release as we can just deploy from unstable branch

Copy link
Member

@nflaig nflaig left a comment

Choose a reason for hiding this comment

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

LGTM - let's get this merged and deployed, a lot of great changes in here!

@ensi321
Copy link
Contributor

ensi321 commented Nov 29, 2024

@philknows web3_provider.node.test.ts is blocking the PR from being merged. Need to rebase this branch to skip that test

@philknows philknows merged commit c9af6c3 into unstable Nov 29, 2024
20 checks passed
@philknows philknows deleted the philknows/docsupdate-oct2024 branch November 29, 2024 19:17
wemeetagain added a commit that referenced this pull request Dec 20, 2024
* feat: add keymanager endpoint to retrieve proposer config (#7210)

* feat: add keymanager endpoint to retrieve proposer config

* Do not return empty builder config

* Check all builder proposer config values

* Fix settings builder config if undefined

* Fix builder config parsing

* Use ssz type to handle json serialization

Default parsing can't handle BigInt

* Revert "Use ssz type to handle json serialization"

This reverts commit 01fcea7.

* Fix boost factor json serialization

* Remove unused import

* Update test data

* Update proposer config test

* feat: add mekong network option (#7212)

* chore: fix import order with biome syntax (#7211)

Fix import order

* fix: consistently validate pubkey and throw 404 if not found (#7214)

* Throw error if pubkey is unknown when getting graffiti

* Consistently validate pubkey and throw 404 if not found

* fix: only return local keys from /eth/v1/keystores (#7215)

* fix: only return local keys from /eth/v1/keystores

* Fix fetching remote keys in node assertion

* feat: add and use getBlobsV1 to expedite gossip import (#7134)

* hookup the getblobs api to get bob and proof data from el

remove unused

fix import

metrics overhault, test, debugging testing, some feeback

fix

add nethermind bug dicussion link

fix

resolve conflicts

* deblobs timeout

* fix metric

* chore: revert async aggregate with randomness (#7218)

Revert "feat: asyncAggregateWithRandomness (#7204)"

This reverts commit e31d535.

* fix: update config for relaunched mekong network (#7220)

* fix: light client generating `LightClientUpdate` with wrong length of branches (#7187)

* initial commit

* Rewrite SyncCommitteeWitnessRepository

* Fix finality branch

* Update unit test

* fix e2e

* Review PR

---------

Co-authored-by: Nico Flaig <nflaig@protonmail.com>

* fix: archive finalized state when shutting down beacon node (#7221)

* Fix typo

* feat: remove unfinalized pubkey cache (#7230)

* Remove unfinalized pubkey cache

* lint

* Fix unit test

* chore: skip web3_provider unit tests (#7252)

* fix: prune checkpoint states at syncing time (#7241)

* fix: prune checkpoint states at syncing time

* fix: lint

* fix: check-types in test

* fix: sync cached isCompoundingValidatorArr at epoch transition (#7247)

* fix: handle outOfRangeData when range sync Deneb (#7249)

* fix: handle outOfRangeData for beaconBlocksMaybeBlobsByRange()

* fix: lint

* fix: archiveBlocks - handle deneb outOfRangeData block

* fix: sync cached balance when adding new validator to registry (#7255)

* fix: sync cached balance when adding new validator to registry

* chore: add more comments

* fix: remove persisted checkpoint states from the previous run at startup

* fix: do not throw error when trying to prune missing directory (#7257)

* docs: update documentation Oct 2024 (#7178)

* docs update oct 2024 init

* Reconfig quickstart nav and minor fixes

* fix lint

* spelling fixes

* minor fixes and add to wordlist

* prettier fix

* add to wordlist

* sort wordlist

* modify dominance to include lighthouse

* fix typescript casing and add recommendation

* add selection and boost_factor with keymanager notice

* update wordlist

* remove builder enabled and add keymanager api

* spelling

---------

Co-authored-by: Nico Flaig <nflaig@protonmail.com>

* chore(deps): bump cross-spawn from 7.0.3 to 7.0.6 in /docs (#7268)

Bumps [cross-spawn](https://github.com/moxystudio/node-cross-spawn) from 7.0.3 to 7.0.6.
- [Changelog](https://github.com/moxystudio/node-cross-spawn/blob/master/CHANGELOG.md)
- [Commits](moxystudio/node-cross-spawn@v7.0.3...v7.0.6)

---
updated-dependencies:
- dependency-name: cross-spawn
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* feat: add error log to notifier if execution client auth failed (#7239)

* feat: add error log to notifier if execution client auth failed

* Update packages/beacon-node/src/node/notifier.ts

---------

Co-authored-by: NC <17676176+ensi321@users.noreply.github.com>

* docs: display rcConfig flag on CLI reference page (#7270)

* docs: display rcConfig flag on CLI reference page

* Update word list

* chore: remove prettier as default formatter for all file types (#7275)

* chore: unhide flags relevant for devnets / testing (#7271)

* feat: debug too many shuffling promises (#7251)

* feat: add asyncShufflingCalculation to StateTransitionOpts

* feat: add asyncShufflingCalculation to all regen / processSlots consumers

* fix: default to false for async shuffling and remove unnecessary props

* fix: remove unnecessary flags from stateTransition

* feat: implement conditional build of shuffling for prepareNextSlot

* fix: spec test bug where shufflingCache is present from BeaconChain constructor

* feat: sync build next shuffling if not queued async

* fix: use getSync to pull next shuffling correctly

* docs: add comment to prepareNextSlot

* refactor: rename StateCloneOpts to StateRegenerationOpts

* feat: pass asyncShufflingCalculation through to afterProcessEpoch and refactor conditional to run purely sync

* docs: add issue number to comment

* chore: lint

* chore: unpin nodejs version from 22.4 (#6982)

* Revert "chore: pin nodejs version to 22.4 (#6964)"

This reverts commit f20484b.

* Don't revert formatting changes

---------

Co-authored-by: Nico Flaig <nflaig@protonmail.com>
Co-authored-by: Cayman <caymannava@gmail.com>

* chore: update bootnodes file url for holesky and sepolia (#7276)

* feat: add `debug_getHistoricalSummaries` endpoint (#7245)

* feat: add new getHistoricalSummaries endpoint to debug namespace

* Add JSON response

* Restructure to use stateId and add proof to response

* add test scaffolding

* Address feedback

* Move getHistoricalSummaries to lodestar namespace

* add lodestar namespace unit test

* update route name to lodestar namespace

* cast state object as Capella state

* Lint

* json properties need to be lower case

* Make it v1 since it's now part of lodestar namespace

* Group with other /lodestar endpoints

* Simplify beacon node impl

* Rename return type

* Update test description

* Fix variable name

---------

Co-authored-by: Nico Flaig <nflaig@protonmail.com>

* chore: log sync committee signature errors as `error` (#7283)

* fix: update engine_getClientVersionV1 commit encoding (#7282)

* fix: check pubkey or validator index known to a state (#7284)

* fix: check pubkey or validator index known to a state

* chore: add more comments

* feat: lodestar script setup (#7254)

* feat: lodestar_setup

* feat: script_updates + docs

* feat: script_addition_in_docs + command_update

* Remove duplicate script from docs folder

* Minor script updates

* Update script to prepare docs and ignore copied file

* Update installation page

* Wording

---------

Co-authored-by: Nico Flaig <nflaig@protonmail.com>

* feat: add terminal-sized Electra giraffe banner (#7286)

* Create giraffeBanners.ts

* Wire in banner

* Fix file name

* lint

* Address @nflaig's comment

---------

Co-authored-by: NC <17676176+ensi321@users.noreply.github.com>

* chore: pin nodejs version to 22.4 (#7291)

Revert "chore: unpin nodejs version from 22.4 (#6982)"

This reverts commit 69ae688.

* feat: expose `DOMAIN_APPLICATION_MASK` in config/spec api (#7296)

* feat: expose DOMAIN_APPLICATION_MASK in config/spec api

* Lint

* feat: make `MAX_REQUEST_BLOB_SIDECARS` and `MAX_BLOBS_PER_BLOCK` configurable (#7294)

* Init commit

* Fix check-types

* Add comment on how MAX_REQUEST_BLOB_SIDECARS is calculated

* Ensure proper config object is passed

* Address comment

---------

Co-authored-by: Nico Flaig <nflaig@protonmail.com>

* feat: use `BLOB_SIDECAR_SUBNET_COUNT` to configure blob subnets (#7297)

feat: use BLOB_SIDECAR_SUBNET_COUNT to configure blob subnets

* chore: log sync aggregate participants when producing beacon block body (#7300)

* chore: log sync aggregate participants when producing beacon block body

* Use isForkLightClient instead of ForkSeq

* Fix produce block unit tests

* chore: print graffiti when producing beacon block body (#7303)

* fix: warn if engine / builder failed to produce block within cutoff time (#7305)

* feat: add kzg commitment length check when validating gossip blocks (#7302)

* feat: add blob sidecar index check (#7313)

Validate blobSidecar index

* fix: fix blob sidecar index check (#7315)

Fix index check

* chore: fix format of printed graffiti from hex to utf-8 (#7306)

* chore: fix format of printed graffiti from hex to utf-8

* Use Buffer.from no copy with offset

* docs: batch commit typos and update contributor readme (#7312)

* batch commit typos and update contributor readme

* update donation text

Co-authored-by: Nico Flaig <nflaig@protonmail.com>

* correct spelling

Co-authored-by: Nico Flaig <nflaig@protonmail.com>

---------

Co-authored-by: Nico Flaig <nflaig@protonmail.com>

* chore: remove trailing null bytes from printed graffiti (#7320)

* chore: remove trailing null bytes from printed graffiti

* Use replaceAll instead of regex

* chore: unpin nodejs version from 22.4 (#7324)

Revert "chore: pin nodejs version to 22.4 (#7291)"

This reverts commit 99794d3.

* chore: bump package versions to 1.24.0

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: Nico Flaig <nflaig@protonmail.com>
Co-authored-by: Nazar Hussain <nazarhussain@gmail.com>
Co-authored-by: g11tech <develop@g11tech.io>
Co-authored-by: Matthew Keil <me@matthewkeil.com>
Co-authored-by: NC <17676176+ensi321@users.noreply.github.com>
Co-authored-by: twoeths <tuyen@chainsafe.io>
Co-authored-by: Phil Ngo <58080811+philknows@users.noreply.github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: acolytec3 <17355484+acolytec3@users.noreply.github.com>
Co-authored-by: Varun Guleria <152203177+varunguleriaCodes@users.noreply.github.com>
Co-authored-by: ClockworkYuzu <yvetteheh@gmail.com>
@wemeetagain
Copy link
Member

🎉 This PR is included in v1.24.0 🎉

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.

4 participants