Tests update 11: Merge PoS
The recent tests changes:
Regenerate all tests using PoS evm rules
Gray Glacier (EIP-5133) Difficulty Bomb tests
PoW to PoS transition tests (BlockchainTests/TransitionTests/bcArrowGlacierToMerge)
Announcement
The test process diagram: http://tinyurl.com/2ctak8yn
Reminder of a brand new web interface for test debugging: http://retesteth.ethdevops.io/web/
Tests stats on latest builds: http://retesteth.ethdevops.io/
(implement test RPC support or t8ntool protocol to apply for the page. https://ethereum-tests.readthedocs.io/en/latest/t8ntool-ref.html)
Previous release link: https://github.com/ethereum/tests/releases/tag/v10.4
Test format
Support "Merge" forkname for PoS block headers.
Support "ArrowGlacierToMergeAtDiffC0000" forkname for bc transition tests.
Old blocks headers/env are auto-corrected to PoS format when filling old tests in Merge mode.
(difficulty becomes 0x00, mixHash becomes the existed difficulty value)
Tests Fillers
"currentRandom: 0x1500000000000000000000000000000000000000000000000000000000000000"
New field support in state tests env section, indicating random for PoS block. (both fillers and filled state tests)
GeneralStateTests/BlockchainTests Filled
"difficulty" : "0x00"
must be defined to 0x00 in blockHeader, so that block is recognized as PoS block.
Test Regeneration
-
Gray Glacier (EIP-5133) Difficulty Bomb tests
PR #1043 -
Merge tests example
PR #1019 -
Quick fix for test names
PR #1035 -
Unit tests for env section correction (retesteth only)
PR #1034 -
Update blockchain tests to Merge PoS
PR #1049
PR #1047
PR #1045 (regenerate all)
PR #1052 (allow incorrect timestamp)
PR #1058 (revoke incorrect timestamp)
Upcoming changes:
Implement more PoS/Merge tests
Implement malicious rlp tests in StateTest or BlockchainTest format (need more debugging with t8n)
Besu retesteth RPC support (web vmtracing support)
Random state test script