EVM Node: Calypso2 Native Execution
What
Add support for executing natively Calypso, the hardened version of Calypso activated on Mainnet on 10,453,254.
Why
Native execution is used by default for RPCs. Not supporting Calypso2 means lower performances in average for computation intensive RPCs like eth_call etc.
How
Duplicate Calypso code, remove the backport of a patch applied to Calypso to fix an issue about traces, apply the Calypso2 patch, then re-apply the backport patch, adapted to the new codebase.
Manually testing the MR
RUST_LOG=octez_evm_node_wasm_runtime::runtime=trace octez-evm-node run observer --data-dir mainnet --network mainnet --dont-track-rollup-node --init-from-snapshot --history rolling:1 --native-execution-policy always
You should see the following
[2025-04-11T20:59:56Z TRACE octez_evm_node_wasm_runtime::runtime] calypso2::kernel_loop
[2025-04-11T20:59:56Z TRACE octez_evm_node_wasm_runtime::runtime] calypso2::kernel_loop
[2025-04-11T20:59:56Z TRACE octez_evm_node_wasm_runtime::runtime] calypso2::kernel_loop
Checklist
-
Document the interface of any function added or modified (see the coding guidelines) -
Document any change to the user interface, including configuration parameters (see node configuration) -
Provide automatic testing (see the testing guide). -
For new features and bug fixes, add an item in the appropriate changelog ( docs/protocols/alpha.rstfor the protocol and the environment,CHANGES.rstat the root of the repository for everything else). -
Select suitable reviewers using the Reviewersfield below. -
Select as Assigneethe next person who should take action on that MR
Edited by Thomas Letan