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

common: configure and fix kaustinen4 verkle testnet sync #3269

Merged
merged 53 commits into from
Mar 26, 2024
Merged

Conversation

g11tech
Copy link
Contributor

@g11tech g11tech commented Feb 3, 2024

  1. run ethereumjs: DEBUG=ethjs,vm:*,evm:*,statemanager:verkle* npm run client:start:ts -- --dataDir /data/teme --network kaustinen4 --rpcEngine --rpcEngineAuth false
  2. run lodestar-quickstart (branch from this PR unless merged: configure kautinen for its 4rth iteration ChainSafe/lodestar-quickstart#39 ) : ./setup.sh --dataDir k4data --network kaustinen4 --justCL
    Comment Line 26 and uncomment Line 25 to prevent lodestar from checkpoint syncing

UPDATE:
Kautinen4 sync works upto block 373, at block 374 an execution witness seems to be missing for extcodesize opcode evaluation on transaction 3, escalated the issue:

Error: Missing execution witness for address=0x00000000000055600060ce55b5600060b955367f versionKey=0x48ac8240e218444ddffaabcc3270229064c0e918ee3578155aca0636e822db00

fixes:

  • fix the vmexecution for verkle stateless init
  • track and ignore the BLOCKHASH witness to avoid k3 blockhash issues
  • don't deduct the to and from access fees (block11)
  • kaustinen3 block 15 :
    It seems that a contract which was created, its code read accesses were charged which it shouldn't have been charged as the code was ready from the data, escalled to Guilluame for clarification, fixed in kaustinen4
  • debug and fix the code chunking boundary conditions
  • debug and fix the kaustinen4 failing block 368
  • debug the failing block374 and escallate the issue to Guilluame

Copy link

codecov bot commented Feb 3, 2024

Codecov Report

Attention: Patch coverage is 37.01657% with 456 lines in your changes are missing coverage. Please review.

Project coverage is 86.67%. Comparing base (d4592f8) to head (d7e2635).

Additional details and impacted files

Impacted file tree graph

Flag Coverage Δ
block 85.74% <32.35%> (-2.70%) ⬇️
blockchain 91.61% <ø> (ø)
client 84.60% <56.38%> (-0.26%) ⬇️
common 98.44% <100.00%> (+<0.01%) ⬆️
devp2p ?
ethash ∅ <ø> (∅)
evm 73.80% <8.06%> (-0.30%) ⬇️
genesis 99.98% <ø> (ø)
rlp ∅ <ø> (∅)
statemanager 76.15% <38.92%> (-0.93%) ⬇️
trie 89.40% <ø> (+0.07%) ⬆️
tx 95.08% <ø> (ø)
util 83.16% <32.85%> (-6.18%) ⬇️
vm 79.37% <25.00%> (-0.54%) ⬇️
wallet 88.35% <ø> (ø)

Flags with carried forward coverage won't be shown. Click here to find out more.

@g11tech g11tech changed the title common: configure and fix kaustinen3 verkle testnet sync common: configure and fix kaustinen4 verkle testnet sync Feb 6, 2024
* 1. On the saved blocks, comma separated which are limited (345,375,368,467)
* `TEST_SAVED_NUMBERS=345,375,368,467 npx vitest run test/rpc/engine/kaustinen4.spec.ts`
* 2. Directly pull slots from a kaustinen beacon url
* `TEST_ONLINE_SLOTS=345,353..360 PEER_BEACON_URL=https://beacon.verkle-gen-devnet-4.ethpandaops.io npx vitest run test/rpc/engine/kaustinen4.spec.ts`
Copy link
Member

Choose a reason for hiding this comment

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

This is so cool, just tested this, works like a charm!!! 🔥 👍 🙂

Copy link
Member

@holgerd77 holgerd77 left a comment

Choose a reason for hiding this comment

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

Ok, have deactivated the devp2p tests until we have these reliable again.

Guess we can take this in, right? Will approve and merge. 🙂

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants