10. KEVM — Ethereum Virtual Machine
Kortana's EVM integration provides unmodified support for standard Ethereum tooling.
10.1 EVM Revision: Cancun
Kortana runs the Cancun (EVMC_CANCUN) revision of the EVM.
10.2 evmone Integration
The KEVM is powered by evmone via the standard EVMC API, ensuring exact byte-for-byte behavioral parity with Ethereum mainnet execution.
10.3 Precompiles
Standard Ethereum precompiles are natively implemented in C++ for maximum performance:
0x01ecrecover0x02sha2560x03ripemd1600x04identity0x05modexp(EIP-198)0x06ecadd(alt_bn128 addition)0x07ecmul(alt_bn128 scalar multiplication)0x08ecpairing(alt_bn128 pairing check)0x09blake2f(EIP-152)
10.4 System Contracts (Read-Only)
Kortana exposes its native chain data to EVM contracts through read-only system contracts:
0x...0100: Chain Information0x...0101: Staking State0x...0102: Governance State
[!TIP] These are deliberately read-only. Modifying staking state via the EVM could lead to situations where a transaction reverts but consensus state changes remain committed.
10.5 Reserved Address Range
Addresses below 0x0200 are reserved. Any value sent to a precompile or reserved address is not credited to an account—the call reverts immediately.
10.6 EVM Deployment
EVM deployment follows standard Ethereum semantics: the transaction contains init code, which executes once and returns the runtime code to be stored at the address.
10.7 Known EVM Limitations
PREVRANDAOReturns Zero: Kortana derives randomness from dPOH, not a beacon chain.PREVRANDAOdeterministically returns zero. Do not use it for randomness.- Blob Opcodes:
BLOBHASHandBLOBBASEFEEreturn zero. There are no EIP-4844 blob transactions on Kortana. - No Filter API:
eth_newFilteris not implemented. Useeth_getLogsor WebSockets.