Lux Proposals
← All proposals
LP-0014Finalevmcevmevmgpurevmplugin

LP-014: Multi-EVM Pluggable Architecture

Abstract

Lux Network supports 4 interchangeable EVM implementations, all producing identical state roots for identical inputs. Validators can hot-swap the C-Chain EVM via switch-evm.sh.

Implementations

| Name | Language | Throughput (EVM) | GPU | Plugin |
|------|----------|-----------------|-----|--------|
| evm | Go (geth) | 4.2 Ggas/s | No | ✅ |
| evmgpu | Go (Block-STM) | 4.2 Ggas/s + GPU | Yes | ✅ |
| revm | Rust (reth) | TBD | No | Via ZAP |
| cevm | C++ (evmone) | 19.8 Ggas/s + GPU | Yes | Via ZAP |

ZAP VM Protocol

All implementations communicate with luxd via the ZAP binary wire protocol: