[go: up one dir, main page]

Etherlink: add support for executing Farfadet natively 馃崁

Context

Closes L2-648.

Getting native execution for Farfadet wasn't trivial, I splitted the commits on purpose so that we make sure nothing was missed or is hidden in the mass of diff (because of the snapshot).

Walkthrough of the commits:

  • First commit snapshot Farfadet with renaming on crates.
  • Second commit adds the Farfadet dependency to the wasm runtime library.
  • Third commit adds Farfadet to the manifest.
  • Fourth commit makes Farfadet available for native execution by adding the missing entrypoints + trait implem.
  • Fifth commit splits the sdk runtimes per version to be able to compile the node with different sdk crates version.
  • Sixth commit fix a compilation error where some symbols were undefined and some were duplicated.
  • Seventh commit is just updating the kernel constants from the EVM node's side + reset regression test.
  • Last commit is just a changelog entry.

Testing

After building Farfadet using the Docker-based script etherlink/scripts/build-wasm.sh, run the following command:

RUST_LOG=octez_evm_node_wasm_runtime::runtime=trace octez-evm-node run sandbox --init-from-snapshot --network testnet --data-dir testnet --native-execution-policy always --replicate --kernel $path_to_tezos_repo/etherlink/kernels-d2842ae4dea4447b7adc2e01079ed9fe9bc7a393/evm_kernel.wasm

You should see:

[2025-11-28T15:03:33Z TRACE octez_evm_node_wasm_runtime::runtime] kernel root hash 002ce9946e42dad48751bf81120f26d44bd86aa2e386e9015a0c2e8b0aefb89c
[2025-11-28T15:03:33Z TRACE octez_evm_node_wasm_runtime::runtime] farfadet::kernel_loop
Edited by Rodi-Can Bozman

Merge request reports

Loading