EVM Node: Enable native execution for Dionysus first revision
What
Native execution for the next version of Etherlink.
Why
Native execution is used to speed-up RPCs so we shouldn’t delay its introduction.
How
Duplicate etherlink/kernel_dionysus. Rename the crates to add r1. Cherry-pick the commits of Dionysus R1 after modifying their paths to modify the new Dionysus R1 source tree. Introduce the new kernel in the WASM Runtime.
Manually testing the MR
Check i haven’t forgotten anything of importance from !18406 (commits). Then, try to run the native execution locally.
Personally, I use the sandbox. Something like
; RUST_LOG=octez_evm_node_wasm_runtime::runtime=trace octez-evm-node run sandbox --data-dir mainnet --config-file otel.json --native-execution-policy always --network mainnet --init-from-rollup-node --kernel ~/work/tezos/etherlink/kernels-6d73d486ace903ee0d524a9b39dfbd858838a690/evm_kernel.wasm
You should see that popping in your terminal.
[2025-07-12T09:53:49Z TRACE octez_evm_node_wasm_runtime::runtime] kernel root hash 1f533dbc6404cf6b05c8df6b6b879f96299fb0d6b661d26152ce3297bc22d550
[2025-07-12T09:53:49Z TRACE octez_evm_node_wasm_runtime::runtime] dionysus_r1::kernel_loop
[2025-07-12T09:53:49Z TRACE octez_evm_node_wasm_runtime::runtime] dionysus_r1::kernel_loop
[2025-07-12T09:53:49Z TRACE octez_evm_node_wasm_runtime::runtime] dionysus_r1::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