Skip to content

Latest commit

 

History

History
53 lines (39 loc) · 3.37 KB

File metadata and controls

53 lines (39 loc) · 3.37 KB
section technology
date Last Modified
title EVM Differences from Ethereum
lang en
permalink technology/chain/differences
whatsnext
Bridge
/en/technology/bridge/cross-domain-messaging/

import Aside from "../../../../../components/Aside.astro"

Opcodes

Opcode Scroll Behavior
BLOCKHASH Returns keccak(chain_id || block_number) for the last 256 blocks.
COINBASE Returns the fee vault address (predeployed contract 0x5300000000000000000000000000000000000005).
DIFFICULTY / PREVRANDAO Always return 0.
BASEFEE Disabled because currently we disabled EIP-1559. If the opcode is encountered, the transaction will be reverted.
SELFDESTRUCT Disabled. If the opcode is encountered, the transaction will be reverted.

Precompiled Contracts

Address Name Scroll behavior
0x03 RIPEMD-160 Currently not supported.
0x05 modexp Restrict the input values B, E, M to unsigned integers less than $2^{256}$.
0x08 ecPairing The inputs are still multiple of 6 32-byte values, but limit the number of tuples to at most 4.
0x09 blake2f Currently not supported.
0x0a point evaluation Currently not supported.

The remaining precompiled contracts have the same behavior as Ethereum. However, their maximum usage within a block is constrained by a limit tied to the zkEVM circuit capacity.

EIPs

Our sequencer was developed based on the London fork initially. We disabled some EIPs in the London fork and introduced a few EIPs from the Shanghai fork to improve the compatibility.

Disabled EIPs until the London fork:

EIPs imported from the Shanghai fork:

Opcodes from the Cancun upgrade are not yet available on Scroll, including `MCOPY`, `TSTORE`, `TLOAD`, `BLOBHASH` and `BLOBBASEFEE`. Additionally, [EIP-4788](https://eips.ethereum.org/EIPS/eip-4788) for accessing the Beacon Chain block root is not supported.