Skip to content

feat: add plataberget network option 🐻‍❄️ - #9822

Merged
nflaig merged 1 commit into
unstablefrom
nflaig/plataberget
Aug 13, 2026
Merged

feat: add plataberget network option 🐻‍❄️#9822
nflaig merged 1 commit into
unstablefrom
nflaig/plataberget

Conversation

@nflaig

@nflaig nflaig commented Aug 13, 2026

Copy link
Copy Markdown
Member

adds network flag for glamsterdam-devnet-8 aka plataberget 🐻‍❄️

see discord

image

simply use --network plataberget to join the network

> ./lodestar beacon --network plataberget --execution.engineMock
Aug-13 19:32:46.500[]                 info: Lodestar network=plataberget, version=v1.46.0/nflaig/plataberget/b0218d5, commit=b0218d529290529bc541cd79dff3eca617c0e8f7
Aug-13 19:32:46.509[]                 info: Connected to LevelDB database path=/home/nico/.local/share/lodestar/plataberget/chain-db
Aug-13 19:32:46.511[]                 info: Loading genesis state genesisStateFile=https://raw.githubusercontent.com/ethpandaops/glamsterdam-devnets/master/network-configs/devnet-8/metadata/genesis.ssz
Aug-13 19:32:48.451[]                 info: Loaded genesis state size=13.75 MB
Aug-13 19:32:49.254[]                 info: Initializing beacon from a valid checkpoint state slot=0, epoch=0, stateRoot=0x328f399d20b80bb5cdc1f325ccc160bae63d81c8fa9b23fcf8c1795f40d8df9d, isWithinWeakSubjectivityPeriod=true
Aug-13 19:32:49.325[]                 info: Initialized genesis state slot=0, stateRoot=0x328f399d20b80bb5cdc1f325ccc160bae63d81c8fa9b23fcf8c1795f40d8df9d, isFinalized=true
Aug-13 19:32:51.597[chain]            info: Removed persisted checkpoint states from the last run count=0, maxEpochsInMemory=3
Aug-13 19:32:51.603[network]          info: running libp2p instance in worker thread
Aug-13 19:32:53.327[network]          info: libp2p worker started peer=16Uiu2HAkz3Z96vL3Gy2Y8mFVcBEwRKbA7VeTgN6W5F6izjsf66TM
Aug-13 19:32:55.017[network]          info: PeerId 16Uiu2HAkz3Z96vL3Gy2Y8mFVcBEwRKbA7VeTgN6W5F6izjsf66TM, Multiaddrs /ip4/0.0.0.0/udp/9001/quic-v1,/ip6/::/udp/9001/quic-v1,/ip4/0.0.0.0/tcp/9000,/ip6/::/tcp/9000
Aug-13 19:32:55.207[rest]             info: Started REST API server address=http://127.0.0.1:9596
Aug-13 19:32:55.208[]                 info: Searching peers - peers: 0 - slot: 1964 - head: 0 0xd736…0843 - exec-block: valid(0 0xee33…) - finalized: 0x0000…0000:0
Aug-13 19:32:54.995[network]          info: discv5 worker started peerId=16Uiu2HAkz3Z96vL3Gy2Y8mFVcBEwRKbA7VeTgN6W5F6izjsf66TM, initialENR=enr:-KS4QGc0T5LVgnFzm91-KTw_bjrmbrcJy0kCh9zivPth-3G3U5BlWJ5NubBoqgriDUg6iSJUvHhdW1A5WfGEeFvy-K4BgmlkgnY0hHF1aWOCIymFcXVpYzaCIymJc2VjcDI1NmsxoQJEn-xjZ7vTea_Q5WhEMz6yMPtAhEWG5DhvnRHQXA0EFIN0Y3CCIyiEdGNwNoIjKIN1ZHCCIyiEdWRwNoIjKA, bindAddr4=/ip4/0.0.0.0/udp/9000, bindAddr6=/ip6/::/udp/9000
Aug-13 19:32:58.407[execution]        info: Execution client is synced oldState=ONLINE, newState=SYNCED
Aug-13 19:33:06.001[]                 info: Syncing - 1.4 minutes left - 20.3 slots/s - slot: 1965 - head: 223 0x3483…f139 - exec-block: valid(223 0x84e9…) - finalized: 0xeca7…cad4:4 - peers: 66
Aug-13 19:33:18.001[]                 info: Syncing - 1.2 minutes left - 20.8 slots/s - slot: 1966 - head: 479 0xeb95…6909 - exec-block: valid(478 0x86d7…) - finalized: 0xb3bc…86ac:12 - peers: 89
Aug-13 19:33:30.049[]                 info: Syncing - 1 minutes left - 20.2 slots/s - slot: 1967 - head: 703 0x19d3…7628 - exec-block: valid(700 0x879f…) - finalized: 0xc1ea…f47c:19 - peers: 89
Aug-13 19:33:42.002[]                 info: Syncing - 50 seconds left - 20.3 slots/s - slot: 1968 - head: 959 0x6ba8…2401 - exec-block: valid(954 0xc31f…) - finalized: 0x0ee0…9da5:27 - peers: 89
Aug-13 19:33:54.000[]                 info: Syncing - 52 seconds left - 18.2 slots/s - slot: 1969 - head: (slot -946) 0xeea9…99bc - exec-block: valid(1018 0x5692…) - finalized: 0xb101…e689:29 - peers: 89
Aug-13 19:34:06.000[]                 info: Syncing - 41 seconds left - 17.6 slots/s - slot: 1970 - head: (slot -723) 0x86d0…050a - exec-block: valid(1238 0xa673…) - finalized: 0x13d5…c9ac:36 - peers: 88
Aug-13 19:34:18.001[]                 info: Syncing - 27 seconds left - 17.6 slots/s - slot: 1971 - head: (slot -468) 0xb2aa…15fc - exec-block: valid(1494 0xe3de…) - finalized: 0x23f2…c3df:44 - peers: 88
Aug-13 19:34:30.061[]                 info: Syncing - 14 seconds left - 17.7 slots/s - slot: 1972 - head: (slot -245) 0x29c8…bc1f - exec-block: valid(1718 0xb87a…) - finalized: 0x6d82…6b2e:52 - peers: 89
Aug-13 19:34:39.946[network]          info: Subscribed gossip core topics
Aug-13 19:34:39.982[sync]             info: Subscribed gossip core topics
Aug-13 19:34:42.002[]                 info: Synced - slot: 1973 - head: (slot -1) 0xab4f…fa38 - exec-block: valid(1963 0x923b…) - finalized: 0x3312…0e3a:59 - peers: 89
Aug-13 19:34:54.001[]                 info: Synced - slot: 1974 - head: 0x2bb0…917a - exec-block: valid(1965 0x1f2c…) - finalized: 0x3312…0e3a:59 - peers: 89
Aug-13 19:35:06.001[]                 info: Synced - slot: 1975 - head: 0x8cd3…7ae2 - exec-block: valid(1966 0xa047…) - finalized: 0x3312…0e3a:59 - peers: 89
Aug-13 19:35:18.001[]                 info: Synced - slot: 1976 - head: 0x5f86…2164 - exec-block: valid(1967 0x6e74…) - finalized: 0x3312…0e3a:59 - peers: 89
Aug-13 19:35:30.002[]                 info: Synced - slot: 1977 - head: 0x12a3…baa0 - exec-block: valid(1968 0xb821…) - finalized: 0x3312…0e3a:59 - peers: 89
Aug-13 19:35:42.001[]                 info: Synced - slot: 1978 - head: 0x9311…7958 - exec-block: valid(1969 0xde40…) - finalized: 0x3312…0e3a:59 - peers: 89
Aug-13 19:35:54.000[]                 info: Synced - slot: 1979 - head: 0xabed…7bac - exec-block: valid(1970 0xb7a5…) - finalized: 0x3312…0e3a:59 - peers: 89

@nflaig
nflaig marked this pull request as ready for review August 13, 2026 18:37
@nflaig
nflaig requested a review from a team as a code owner August 13, 2026 18:37

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: b0218d5292

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

},
plataberget: {
genesisTime: 1786622400,
genesisValidatorsRoot: "0xbb4a1a9e3f7f4e10edcd734e4acc3b5ffd4f830efe0af2748fa458cfee5d2658",

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

P2 Badge Use the actual Plataberget genesis validators root

This root is inconsistent with the boot ENRs added for the same network: their eth2 field advertises the current Fulu fork digest 0x5c943807 and next fork 0x80733183 at epoch 1536, while computing the digest from Fulu version 0x70733183 and this root produces 0x127d903d. Consequently, fresh Plataberget slashing-protection imports/exports use the wrong network identity via getGenesisValidatorsRoot(), and light-client SSZ responses are encoded with fork digests peers cannot recognize.

Useful? React with 👍 / 👎.

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

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

seems correct to me, 0x127d903d is the base digest before mixing in bpo parameters, we compute 0x5c943807 which seems to match other nodes in the network

also matches what dora shows here

image

@github-actions

Copy link
Copy Markdown
Contributor

Performance Report

✔️ no performance regression detected

Full benchmark results
Benchmark suite Current: b36034b Previous: 7a8fd84 Ratio
getPubkeys - index2pubkey - req 1000 vs - 250000 vc 1.1309 ms/op 886.90 us/op 1.28
getPubkeys - validatorsArr - req 1000 vs - 250000 vc 41.081 us/op 40.311 us/op 1.02
BLS verify - blst 694.89 us/op 713.95 us/op 0.97
BLS verifyMultipleSignatures 3 - blst 1.3396 ms/op 1.3645 ms/op 0.98
BLS verifyMultipleSignatures 8 - blst 2.1150 ms/op 2.1770 ms/op 0.97
BLS verifyMultipleSignatures 32 - blst 6.8957 ms/op 6.8556 ms/op 1.01
BLS verifyMultipleSignatures 64 - blst 12.508 ms/op 13.375 ms/op 0.94
BLS verifyMultipleSignatures 128 - blst 25.401 ms/op 25.717 ms/op 0.99
BLS deserializing 10000 signatures 634.54 ms/op 615.15 ms/op 1.03
BLS deserializing 100000 signatures 6.6481 s/op 6.2561 s/op 1.06
BLS verifyMultipleSignatures - same message - 3 - blst 805.82 us/op 777.79 us/op 1.04
BLS verifyMultipleSignatures - same message - 8 - blst 989.70 us/op 913.90 us/op 1.08
BLS verifyMultipleSignatures - same message - 32 - blst 1.5141 ms/op 1.5808 ms/op 0.96
BLS verifyMultipleSignatures - same message - 64 - blst 2.3890 ms/op 2.4080 ms/op 0.99
BLS verifyMultipleSignatures - same message - 128 - blst 4.1462 ms/op 4.0390 ms/op 1.03
BLS aggregatePubkeys 32 - blst 18.322 us/op 17.563 us/op 1.04
BLS aggregatePubkeys 128 - blst 64.654 us/op 62.304 us/op 1.04
getSlashingsAndExits - default max 46.494 us/op 48.479 us/op 0.96
getSlashingsAndExits - 2k 402.95 us/op 379.40 us/op 1.06
proposeBlockBody type=full, size=empty 761.24 us/op 669.48 us/op 1.14
isKnown best case - 1 super set check 172.00 ns/op 200.00 ns/op 0.86
isKnown normal case - 2 super set checks 184.00 ns/op 173.00 ns/op 1.06
isKnown worse case - 16 super set checks 166.00 ns/op 175.00 ns/op 0.95
validate api signedAggregateAndProof - struct 1.5592 ms/op 1.5466 ms/op 1.01
validate gossip signedAggregateAndProof - struct 1.5413 ms/op 1.5537 ms/op 0.99
batch validate gossip attestation - vc 640000 - chunk 32 114.08 us/op 115.04 us/op 0.99
batch validate gossip attestation - vc 640000 - chunk 64 102.53 us/op 102.84 us/op 1.00
batch validate gossip attestation - vc 640000 - chunk 128 95.018 us/op 96.151 us/op 0.99
batch validate gossip attestation - vc 640000 - chunk 256 94.325 us/op 103.22 us/op 0.91
bytes32 toHexString 290.00 ns/op 299.00 ns/op 0.97
bytes32 Buffer.toString(hex) 176.00 ns/op 177.00 ns/op 0.99
bytes32 Buffer.toString(hex) from Uint8Array 246.00 ns/op 234.00 ns/op 1.05
bytes32 Buffer.toString(hex) + 0x 176.00 ns/op 167.00 ns/op 1.05
Return object 10000 times 0.21940 ns/op 0.21460 ns/op 1.02
Throw Error 10000 times 3.3437 us/op 3.4603 us/op 0.97
toHex 104.61 ns/op 98.978 ns/op 1.06
Buffer.from 88.411 ns/op 88.745 ns/op 1.00
shared Buffer 58.995 ns/op 57.870 ns/op 1.02
fastMsgIdFn sha256 / 200 bytes 1.5080 us/op 2.1160 us/op 0.71
fastMsgIdFn h32 xxhash / 200 bytes 155.00 ns/op 153.00 ns/op 1.01
fastMsgIdFn h64 xxhash / 200 bytes 208.00 ns/op 307.00 ns/op 0.68
fastMsgIdFn sha256 / 1000 bytes 4.8250 us/op 5.1380 us/op 0.94
fastMsgIdFn h32 xxhash / 1000 bytes 246.00 ns/op 244.00 ns/op 1.01
fastMsgIdFn h64 xxhash / 1000 bytes 264.00 ns/op 252.00 ns/op 1.05
fastMsgIdFn sha256 / 10000 bytes 42.468 us/op 41.685 us/op 1.02
fastMsgIdFn h32 xxhash / 10000 bytes 1.3210 us/op 1.3020 us/op 1.01
fastMsgIdFn h64 xxhash / 10000 bytes 860.00 ns/op 844.00 ns/op 1.02
send data - 1000 256B messages 4.4840 ms/op 4.5128 ms/op 0.99
send data - 1000 512B messages 5.7358 ms/op 5.8874 ms/op 0.97
send data - 1000 1024B messages 6.6636 ms/op 6.8858 ms/op 0.97
send data - 1000 1200B messages 7.8527 ms/op 8.1277 ms/op 0.97
send data - 1000 2048B messages 11.572 ms/op 9.1627 ms/op 1.26
send data - 1000 4096B messages 93.662 ms/op 101.46 ms/op 0.92
send data - 1000 16384B messages 583.96 ms/op 486.56 ms/op 1.20
send data - 1000 65536B messages 1.9489 s/op 2.3868 s/op 0.82
enrSubnets - fastDeserialize 64 bits 788.00 ns/op 743.00 ns/op 1.06
enrSubnets - ssz BitVector 64 bits 264.00 ns/op 266.00 ns/op 0.99
enrSubnets - fastDeserialize 4 bits 104.00 ns/op 100.00 ns/op 1.04
enrSubnets - ssz BitVector 4 bits 272.00 ns/op 265.00 ns/op 1.03
prioritizePeers score -10:0 att 32-0.1 sync 2-0 219.29 us/op 209.91 us/op 1.04
prioritizePeers score 0:0 att 32-0.25 sync 2-0.25 245.30 us/op 242.39 us/op 1.01
prioritizePeers score 0:0 att 32-0.5 sync 2-0.5 358.04 us/op 350.15 us/op 1.02
prioritizePeers score 0:0 att 64-0.75 sync 4-0.75 632.46 us/op 608.90 us/op 1.04
prioritizePeers score 0:0 att 64-1 sync 4-1 819.19 us/op 730.16 us/op 1.12
array of 16000 items push then shift 1.3384 us/op 1.3321 us/op 1.00
LinkedList of 16000 items push then shift 8.4510 ns/op 7.6760 ns/op 1.10
array of 16000 items push then pop 92.235 ns/op 74.776 ns/op 1.23
LinkedList of 16000 items push then pop 6.8640 ns/op 6.1950 ns/op 1.11
array of 24000 items push then shift 1.9800 us/op 1.9597 us/op 1.01
LinkedList of 24000 items push then shift 8.6950 ns/op 6.9500 ns/op 1.25
array of 24000 items push then pop 124.91 ns/op 105.44 ns/op 1.18
LinkedList of 24000 items push then pop 7.0140 ns/op 6.3800 ns/op 1.10
intersect bitArray bitLen 8 4.0110 ns/op 4.0090 ns/op 1.00
intersect array and set length 8 32.996 ns/op 30.245 ns/op 1.09
intersect bitArray bitLen 128 24.131 ns/op 23.846 ns/op 1.01
intersect array and set length 128 512.58 ns/op 508.29 ns/op 1.01
bitArray.getTrueBitIndexes() bitLen 128 1.0380 us/op 948.00 ns/op 1.09
bitArray.getTrueBitIndexes() bitLen 248 1.8350 us/op 1.7650 us/op 1.04
bitArray.getTrueBitIndexes() bitLen 512 3.7640 us/op 3.7890 us/op 0.99
Full columns - reconstruct all 6 blobs 208.03 us/op 145.07 us/op 1.43
Full columns - reconstruct half of the blobs out of 6 100.58 us/op 79.340 us/op 1.27
Full columns - reconstruct single blob out of 6 38.104 us/op 37.071 us/op 1.03
Half columns - reconstruct all 6 blobs 411.85 ms/op 408.77 ms/op 1.01
Half columns - reconstruct half of the blobs out of 6 204.51 ms/op 203.72 ms/op 1.00
Half columns - reconstruct single blob out of 6 73.094 ms/op 73.200 ms/op 1.00
Set add up to 64 items then delete first 1.6755 us/op 1.6905 us/op 0.99
OrderedSet add up to 64 items then delete first 2.5902 us/op 2.5876 us/op 1.00
Set add up to 64 items then delete last 1.9028 us/op 1.9649 us/op 0.97
OrderedSet add up to 64 items then delete last 2.9751 us/op 3.0111 us/op 0.99
Set add up to 64 items then delete middle 1.9264 us/op 1.9503 us/op 0.99
OrderedSet add up to 64 items then delete middle 4.5781 us/op 4.4923 us/op 1.02
Set add up to 128 items then delete first 3.7839 us/op 3.8077 us/op 0.99
OrderedSet add up to 128 items then delete first 5.5950 us/op 5.6561 us/op 0.99
Set add up to 128 items then delete last 3.7300 us/op 3.7543 us/op 0.99
OrderedSet add up to 128 items then delete last 5.7766 us/op 5.7312 us/op 1.01
Set add up to 128 items then delete middle 3.7501 us/op 3.7886 us/op 0.99
OrderedSet add up to 128 items then delete middle 12.211 us/op 11.854 us/op 1.03
Set add up to 256 items then delete first 7.6296 us/op 7.7742 us/op 0.98
OrderedSet add up to 256 items then delete first 13.000 us/op 12.479 us/op 1.04
Set add up to 256 items then delete last 7.4722 us/op 7.4291 us/op 1.01
OrderedSet add up to 256 items then delete last 12.839 us/op 12.552 us/op 1.02
Set add up to 256 items then delete middle 8.2442 us/op 7.4938 us/op 1.10
OrderedSet add up to 256 items then delete middle 38.226 us/op 36.742 us/op 1.04
runFastConfirmationRules vc:100000 bc:96 eq:0 4.8367 ms/op 4.7118 ms/op 1.03
runFastConfirmationRules vc:600000 bc:96 eq:0 39.568 ms/op 38.645 ms/op 1.02
runFastConfirmationRules vc:1000000 bc:96 eq:0 65.384 ms/op 61.373 ms/op 1.07
runFastConfirmationRules vc:600000 bc:320 eq:0 39.994 ms/op 36.040 ms/op 1.11
runFastConfirmationRules vc:100000 bc:96 eq:1000 1.5220 s/op 1.1563 s/op 1.32
pass gossip attestations to forkchoice per slot 2.8193 ms/op 2.6279 ms/op 1.07
forkChoice updateHead vc 100000 bc 64 eq 0 419.01 us/op 448.13 us/op 0.94
forkChoice updateHead vc 600000 bc 64 eq 0 2.5344 ms/op 2.6806 ms/op 0.95
forkChoice updateHead vc 1000000 bc 64 eq 0 4.2246 ms/op 4.0618 ms/op 1.04
forkChoice updateHead vc 600000 bc 320 eq 0 2.5840 ms/op 2.4325 ms/op 1.06
forkChoice updateHead vc 600000 bc 1200 eq 0 2.5706 ms/op 2.4560 ms/op 1.05
forkChoice updateHead vc 600000 bc 7200 eq 0 4.5516 ms/op 3.2270 ms/op 1.41
forkChoice updateHead vc 600000 bc 64 eq 1000 2.5254 ms/op 2.7464 ms/op 0.92
forkChoice updateHead vc 600000 bc 64 eq 10000 2.6400 ms/op 2.8492 ms/op 0.93
forkChoice updateHead vc 600000 bc 64 eq 300000 7.4116 ms/op 7.1537 ms/op 1.04
computeDeltas 1400000 validators 0% inactive 12.402 ms/op 13.423 ms/op 0.92
computeDeltas 1400000 validators 10% inactive 11.844 ms/op 12.688 ms/op 0.93
computeDeltas 1400000 validators 20% inactive 11.749 ms/op 11.734 ms/op 1.00
computeDeltas 1400000 validators 50% inactive 9.0421 ms/op 9.5483 ms/op 0.95
computeDeltas 2100000 validators 0% inactive 17.993 ms/op 19.900 ms/op 0.90
computeDeltas 2100000 validators 10% inactive 18.002 ms/op 18.725 ms/op 0.96
computeDeltas 2100000 validators 20% inactive 16.432 ms/op 17.846 ms/op 0.92
computeDeltas 2100000 validators 50% inactive 10.693 ms/op 14.553 ms/op 0.73
altair processAttestation - 250000 vs - 7PWei normalcase 2.5341 ms/op 1.8261 ms/op 1.39
altair processAttestation - 250000 vs - 7PWei worstcase 3.4485 ms/op 3.1746 ms/op 1.09
altair processAttestation - setStatus - 1/6 committees join 109.28 us/op 97.587 us/op 1.12
altair processAttestation - setStatus - 1/3 committees join 198.91 us/op 198.85 us/op 1.00
altair processAttestation - setStatus - 1/2 committees join 277.20 us/op 283.34 us/op 0.98
altair processAttestation - setStatus - 2/3 committees join 358.59 us/op 371.52 us/op 0.97
altair processAttestation - setStatus - 4/5 committees join 512.20 us/op 502.84 us/op 1.02
altair processAttestation - setStatus - 100% committees join 615.11 us/op 601.53 us/op 1.02
altair processBlock - 250000 vs - 7PWei normalcase 4.4133 ms/op 3.9739 ms/op 1.11
altair processBlock - 250000 vs - 7PWei normalcase hashState 15.933 ms/op 16.093 ms/op 0.99
altair processBlock - 250000 vs - 7PWei worstcase 22.413 ms/op 21.486 ms/op 1.04
altair processBlock - 250000 vs - 7PWei worstcase hashState 45.047 ms/op 44.153 ms/op 1.02
phase0 processBlock - 250000 vs - 7PWei normalcase 1.5244 ms/op 1.3980 ms/op 1.09
phase0 processBlock - 250000 vs - 7PWei worstcase 18.592 ms/op 16.907 ms/op 1.10
altair processEth1Data - 250000 vs - 7PWei normalcase 306.36 us/op 298.25 us/op 1.03
getExpectedWithdrawals 250000 eb:1,eth1:1,we:0,wn:0,smpl:16 4.4090 us/op 3.2860 us/op 1.34
getExpectedWithdrawals 250000 eb:0.95,eth1:0.1,we:0.05,wn:0,smpl:220 21.811 us/op 19.889 us/op 1.10
getExpectedWithdrawals 250000 eb:0.95,eth1:0.3,we:0.05,wn:0,smpl:43 6.9300 us/op 5.5940 us/op 1.24
getExpectedWithdrawals 250000 eb:0.95,eth1:0.7,we:0.05,wn:0,smpl:19 5.1290 us/op 3.5300 us/op 1.45
getExpectedWithdrawals 250000 eb:0.1,eth1:0.1,we:0,wn:0,smpl:1021 95.279 us/op 88.516 us/op 1.08
getExpectedWithdrawals 250000 eb:0.03,eth1:0.03,we:0,wn:0,smpl:11778 1.4325 ms/op 1.4166 ms/op 1.01
getExpectedWithdrawals 250000 eb:0.01,eth1:0.01,we:0,wn:0,smpl:16384 1.9834 ms/op 1.8673 ms/op 1.06
getExpectedWithdrawals 250000 eb:0,eth1:0,we:0,wn:0,smpl:16384 1.9414 ms/op 1.7771 ms/op 1.09
getExpectedWithdrawals 250000 eb:0,eth1:0,we:0,wn:0,nocache,smpl:16384 5.2252 ms/op 3.7210 ms/op 1.40
getExpectedWithdrawals 250000 eb:0,eth1:1,we:0,wn:0,smpl:16384 2.3195 ms/op 2.1278 ms/op 1.09
getExpectedWithdrawals 250000 eb:0,eth1:1,we:0,wn:0,nocache,smpl:16384 5.5291 ms/op 3.9980 ms/op 1.38
Tree 40 250000 create 352.57 ms/op 332.82 ms/op 1.06
Tree 40 250000 get(125000) 95.733 ns/op 89.379 ns/op 1.07
Tree 40 250000 set(125000) 1.0069 us/op 978.81 ns/op 1.03
Tree 40 250000 toArray() 17.063 ms/op 13.671 ms/op 1.25
Tree 40 250000 iterate all - toArray() + loop 17.378 ms/op 14.115 ms/op 1.23
Tree 40 250000 iterate all - get(i) 39.674 ms/op 36.934 ms/op 1.07
Array 250000 create 2.7348 ms/op 2.2089 ms/op 1.24
Array 250000 clone - spread 843.69 us/op 693.77 us/op 1.22
Array 250000 get(125000) 0.29200 ns/op 0.28800 ns/op 1.01
Array 250000 set(125000) 0.29500 ns/op 0.28800 ns/op 1.02
Array 250000 iterate all - loop 56.500 us/op 57.537 us/op 0.98
phase0 afterProcessEpoch - 250000 vs - 7PWei 40.631 ms/op 41.809 ms/op 0.97
Array.fill - length 1000000 4.9596 ms/op 3.8932 ms/op 1.27
Array push - length 1000000 16.400 ms/op 40.845 ms/op 0.40
Array.get 0.20497 ns/op 0.20917 ns/op 0.98
Uint8Array.get 0.23999 ns/op 0.23491 ns/op 1.02
phase0 beforeProcessEpoch - 250000 vs - 7PWei 15.323 ms/op 16.330 ms/op 0.94
altair processEpoch - mainnet_e81889 290.83 ms/op 333.66 ms/op 0.87
mainnet_e81889 - altair beforeProcessEpoch 51.312 ms/op 33.862 ms/op 1.52
mainnet_e81889 - altair processJustificationAndFinalization 6.9080 us/op 9.0690 us/op 0.76
mainnet_e81889 - altair processInactivityUpdates 4.6323 ms/op 6.7928 ms/op 0.68
mainnet_e81889 - altair processRewardsAndPenalties 20.771 ms/op 18.976 ms/op 1.09
mainnet_e81889 - altair processRegistryUpdates 612.00 ns/op 545.00 ns/op 1.12
mainnet_e81889 - altair processSlashings 148.00 ns/op 146.00 ns/op 1.01
mainnet_e81889 - altair processEth1DataReset 143.00 ns/op 147.00 ns/op 0.97
mainnet_e81889 - altair processEffectiveBalanceUpdates 3.2924 ms/op 2.7438 ms/op 1.20
mainnet_e81889 - altair processSlashingsReset 705.00 ns/op 687.00 ns/op 1.03
mainnet_e81889 - altair processRandaoMixesReset 1.6660 us/op 1.2620 us/op 1.32
mainnet_e81889 - altair processHistoricalRootsUpdate 144.00 ns/op 147.00 ns/op 0.98
mainnet_e81889 - altair processParticipationFlagUpdates 470.00 ns/op 439.00 ns/op 1.07
mainnet_e81889 - altair processSyncCommitteeUpdates 116.00 ns/op 123.00 ns/op 0.94
mainnet_e81889 - altair afterProcessEpoch 41.951 ms/op 40.455 ms/op 1.04
capella processEpoch - mainnet_e217614 922.93 ms/op 1.0830 s/op 0.85
mainnet_e217614 - capella beforeProcessEpoch 64.276 ms/op 64.661 ms/op 0.99
mainnet_e217614 - capella processJustificationAndFinalization 6.7940 us/op 32.808 ms/op 0.00
mainnet_e217614 - capella processInactivityUpdates 17.032 ms/op 16.834 ms/op 1.01
mainnet_e217614 - capella processRewardsAndPenalties 100.15 ms/op 101.27 ms/op 0.99
mainnet_e217614 - capella processRegistryUpdates 4.5920 us/op 4.5510 us/op 1.01
mainnet_e217614 - capella processSlashings 144.00 ns/op 151.00 ns/op 0.95
mainnet_e217614 - capella processEth1DataReset 143.00 ns/op 153.00 ns/op 0.93
mainnet_e217614 - capella processEffectiveBalanceUpdates 19.427 ms/op 18.452 ms/op 1.05
mainnet_e217614 - capella processSlashingsReset 720.00 ns/op 703.00 ns/op 1.02
mainnet_e217614 - capella processRandaoMixesReset 1.4910 us/op 1.6010 us/op 0.93
mainnet_e217614 - capella processHistoricalRootsUpdate 149.00 ns/op 155.00 ns/op 0.96
mainnet_e217614 - capella processParticipationFlagUpdates 494.00 ns/op 477.00 ns/op 1.04
mainnet_e217614 - capella afterProcessEpoch 110.54 ms/op 107.35 ms/op 1.03
phase0 processEpoch - mainnet_e58758 401.66 ms/op 425.40 ms/op 0.94
mainnet_e58758 - phase0 beforeProcessEpoch 96.055 ms/op 77.340 ms/op 1.24
mainnet_e58758 - phase0 processJustificationAndFinalization 7.7340 us/op 7.5190 us/op 1.03
mainnet_e58758 - phase0 processRewardsAndPenalties 19.734 ms/op 16.839 ms/op 1.17
mainnet_e58758 - phase0 processRegistryUpdates 2.4550 us/op 2.2780 us/op 1.08
mainnet_e58758 - phase0 processSlashings 231.00 ns/op 136.00 ns/op 1.70
mainnet_e58758 - phase0 processEth1DataReset 402.00 ns/op 344.00 ns/op 1.17
mainnet_e58758 - phase0 processEffectiveBalanceUpdates 826.82 us/op 811.08 us/op 1.02
mainnet_e58758 - phase0 processSlashingsReset 1.0600 us/op 933.00 ns/op 1.14
mainnet_e58758 - phase0 processRandaoMixesReset 1.5770 us/op 1.5230 us/op 1.04
mainnet_e58758 - phase0 processHistoricalRootsUpdate 140.00 ns/op 137.00 ns/op 1.02
mainnet_e58758 - phase0 processParticipationRecordUpdates 1.4720 us/op 1.3340 us/op 1.10
mainnet_e58758 - phase0 afterProcessEpoch 34.011 ms/op 33.395 ms/op 1.02
phase0 processEffectiveBalanceUpdates - 250000 normalcase 1.0927 ms/op 986.02 us/op 1.11
phase0 processEffectiveBalanceUpdates - 250000 worstcase 0.5 2.7215 ms/op 1.6071 ms/op 1.69
altair processInactivityUpdates - 250000 normalcase 18.479 ms/op 13.762 ms/op 1.34
altair processInactivityUpdates - 250000 worstcase 17.811 ms/op 12.450 ms/op 1.43
phase0 processRegistryUpdates - 250000 normalcase 3.5980 us/op 3.3730 us/op 1.07
phase0 processRegistryUpdates - 250000 badcase_full_deposits 143.09 us/op 147.38 us/op 0.97
phase0 processRegistryUpdates - 250000 worstcase 0.5 73.116 ms/op 66.344 ms/op 1.10
altair processRewardsAndPenalties - 250000 normalcase 14.352 ms/op 16.251 ms/op 0.88
altair processRewardsAndPenalties - 250000 worstcase 14.260 ms/op 16.147 ms/op 0.88
phase0 getAttestationDeltas - 250000 normalcase 5.9304 ms/op 5.3984 ms/op 1.10
phase0 getAttestationDeltas - 250000 worstcase 5.6797 ms/op 5.3917 ms/op 1.05
phase0 processSlashings - 250000 worstcase 61.575 us/op 61.913 us/op 0.99
altair processSyncCommitteeUpdates - 250000 10.956 ms/op 9.9935 ms/op 1.10
BeaconState.hashTreeRoot - No change 170.00 ns/op 167.00 ns/op 1.02
BeaconState.hashTreeRoot - 1 full validator 82.330 us/op 84.511 us/op 0.97
BeaconState.hashTreeRoot - 32 full validator 898.57 us/op 1.0025 ms/op 0.90
BeaconState.hashTreeRoot - 512 full validator 8.2403 ms/op 7.8124 ms/op 1.05
BeaconState.hashTreeRoot - 1 validator.effectiveBalance 106.76 us/op 123.24 us/op 0.87
BeaconState.hashTreeRoot - 32 validator.effectiveBalance 1.5057 ms/op 2.0440 ms/op 0.74
BeaconState.hashTreeRoot - 512 validator.effectiveBalance 18.762 ms/op 23.598 ms/op 0.80
BeaconState.hashTreeRoot - 1 balances 83.605 us/op 104.01 us/op 0.80
BeaconState.hashTreeRoot - 32 balances 767.81 us/op 854.18 us/op 0.90
BeaconState.hashTreeRoot - 512 balances 6.2711 ms/op 7.5717 ms/op 0.83
BeaconState.hashTreeRoot - 250000 balances 121.49 ms/op 202.80 ms/op 0.60
aggregationBits - 2048 els - zipIndexesInBitList 19.615 us/op 20.865 us/op 0.94
regular array get 100000 times 22.404 us/op 23.079 us/op 0.97
wrappedArray get 100000 times 22.394 us/op 23.043 us/op 0.97
arrayWithProxy get 100000 times 9.6716 ms/op 9.5556 ms/op 1.01
ssz.Root.equals 21.011 ns/op 21.166 ns/op 0.99
byteArrayEquals 20.721 ns/op 20.862 ns/op 0.99
Buffer.compare 8.5530 ns/op 8.7050 ns/op 0.98
processSlot - 1 slots 8.6310 us/op 9.6680 us/op 0.89
processSlot - 32 slots 2.0536 ms/op 2.5250 ms/op 0.81
getEffectiveBalanceIncrementsZeroInactive - 250000 vs - 7PWei 4.2273 ms/op 5.0631 ms/op 0.83
getCommitteeAssignments - req 1 vs - 250000 vc 1.6443 ms/op 1.6607 ms/op 0.99
getCommitteeAssignments - req 100 vs - 250000 vc 3.4177 ms/op 3.4040 ms/op 1.00
getCommitteeAssignments - req 1000 vs - 250000 vc 3.7174 ms/op 3.6548 ms/op 1.02
findModifiedValidators - 10000 modified validators 733.31 ms/op 926.88 ms/op 0.79
findModifiedValidators - 1000 modified validators 530.11 ms/op 522.52 ms/op 1.01
findModifiedValidators - 100 modified validators 390.65 ms/op 339.74 ms/op 1.15
findModifiedValidators - 10 modified validators 339.19 ms/op 289.90 ms/op 1.17
findModifiedValidators - 1 modified validators 221.62 ms/op 277.97 ms/op 0.80
findModifiedValidators - no difference 207.54 ms/op 222.65 ms/op 0.93
migrate state 1500000 validators, 3400 modified, 2000 new 2.9935 s/op 5.4237 s/op 0.55
RootCache.getBlockRootAtSlot - 250000 vs - 7PWei 3.5700 ns/op 3.7300 ns/op 0.96
state getBlockRootAtSlot - 250000 vs - 7PWei 365.52 ns/op 578.36 ns/op 0.63
computeProposerIndex 100000 validators 1.3096 ms/op 1.3751 ms/op 0.95
getNextSyncCommitteeIndices 1000 validators 2.8269 ms/op 2.9069 ms/op 0.97
getNextSyncCommitteeIndices 10000 validators 24.948 ms/op 25.446 ms/op 0.98
getNextSyncCommitteeIndices 100000 validators 85.996 ms/op 92.287 ms/op 0.93
computeProposers - vc 250000 558.45 us/op 554.98 us/op 1.01
computeEpochShuffling - vc 250000 38.874 ms/op 40.002 ms/op 0.97
getNextSyncCommittee - vc 250000 10.730 ms/op 10.359 ms/op 1.04
nodejs block root to RootHex using toHex 91.960 ns/op 95.640 ns/op 0.96
nodejs block root to RootHex using toRootHex 59.434 ns/op 60.727 ns/op 0.98
nodejs fromHex(blob) 733.02 us/op 1.0444 ms/op 0.70
nodejs fromHexInto(blob) 612.83 us/op 665.88 us/op 0.92
nodejs block root to RootHex using the deprecated toHexString 388.00 ns/op 492.08 ns/op 0.79
nodejs byteArrayEquals 32 bytes (block root) 25.392 ns/op 25.883 ns/op 0.98
nodejs byteArrayEquals 48 bytes (pubkey) 36.531 ns/op 37.626 ns/op 0.97
nodejs byteArrayEquals 96 bytes (signature) 33.526 ns/op 34.435 ns/op 0.97
nodejs byteArrayEquals 1024 bytes 40.720 ns/op 40.150 ns/op 1.01
nodejs byteArrayEquals 131072 bytes (blob) 1.7354 us/op 1.7519 us/op 0.99
browser block root to RootHex using toHex 140.35 ns/op 143.62 ns/op 0.98
browser block root to RootHex using toRootHex 127.51 ns/op 127.91 ns/op 1.00
browser fromHex(blob) 1.5308 ms/op 1.8894 ms/op 0.81
browser fromHexInto(blob) 608.84 us/op 648.45 us/op 0.94
browser block root to RootHex using the deprecated toHexString 485.72 ns/op 350.53 ns/op 1.39
browser byteArrayEquals 32 bytes (block root) 27.269 ns/op 28.447 ns/op 0.96
browser byteArrayEquals 48 bytes (pubkey) 38.722 ns/op 40.128 ns/op 0.96
browser byteArrayEquals 96 bytes (signature) 71.905 ns/op 74.961 ns/op 0.96
browser byteArrayEquals 1024 bytes 762.57 ns/op 764.83 ns/op 1.00
browser byteArrayEquals 131072 bytes (blob) 94.894 us/op 96.674 us/op 0.98

by benchmarkbot/action

@nflaig
nflaig merged commit a27526c into unstable Aug 13, 2026
26 checks passed
@nflaig
nflaig deleted the nflaig/plataberget branch August 13, 2026 19:50
@github-project-automation github-project-automation Bot moved this from In Progress to Done in Lodestar Team Coordination Aug 13, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

2 participants