diff --git a/src/content/docs/en/developers/ethereum-and-scroll-differences.mdx b/src/content/docs/en/developers/ethereum-and-scroll-differences.mdx index bdde6938e..f62661314 100644 --- a/src/content/docs/en/developers/ethereum-and-scroll-differences.mdx +++ b/src/content/docs/en/developers/ethereum-and-scroll-differences.mdx @@ -26,14 +26,14 @@ For open-source contributors and infrastructure builders, please contact our tea | `BLOCKHASH` | `block.blockhash` | Returns `keccak(chain_id \|\| block_number)` for the last 256 blocks. | | `COINBASE` | `block.coinbase` | Returns the pre-deployed fee vault contract address. See [Scroll Contracts](/developers/scroll-contracts). | | `DIFFICULTY` / `PREVRANDAO` | `block.difficulty` | Returns 0. | -| `BASEFEE` | `block.basefee` | Disabled.[^eip1559] If the opcode is encountered, the transaction will be reverted. | | `SELFDESTRUCT` | `selfdestruct` | Disabled. If the opcode is encountered, the transaction will be reverted.[^willadpot] | -[^eip1559]: We have currently disabled EIP-1559 on Scroll. +We support the `cancun` EVM target and the latest Solidity version `0.8.26`. + [^willadpot]: Will change to adopt Ethereum’s solution in the future. ## EVM Precompiles @@ -91,12 +91,7 @@ When verifying `EXTCODESIZE`, it is expensive to load the whole contract data in ## Block Time -Scroll aims for a constant block time of 3 seconds. This is shorter and more consistent than the 12 seconds used in the Ethereum under ideal conditions. - -This was chosen for two reasons: - -- Having faster, constant block time results in quicker feedback and a better user experience. -- As we optimize the zkEVM circuits in our testnets, even if we maintain a smaller gas limit per block or batch, we can still reach higher throughput than Ethereum. +To improve the throughput of the Scroll chain, we introduced a dynamic block time in our [Curie upgrade](/technology/overview/scroll-upgrades#curie-upgrade). During the congestion period, a block will be sealed once the transactions in the block reach the circuit limit instead of waiting for the 3-second interval. During normal hours, blocks will still be sealed at 3-second interval to ensure a consistent user experience. ## Transaction Ordering diff --git a/src/content/docs/en/technology/chain/differences.mdx b/src/content/docs/en/technology/chain/differences.mdx index ad02ed0a8..b597aca12 100644 --- a/src/content/docs/en/technology/chain/differences.mdx +++ b/src/content/docs/en/technology/chain/differences.mdx @@ -16,7 +16,6 @@ import Aside from "../../../../../components/Aside.astro" | `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 @@ -33,21 +32,10 @@ The remaining precompiled contracts have the same behavior as Ethereum. However, ## 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. +Our sequencer was developed based on the London fork initially. Since then we have adopted most features from London, Shanghai, and Cancun. -Disabled EIPs until the London fork: +Our EIP-1559 fee market behaves differently: the sequencer sets the L2 base fee (based on the L1 base fee), and we don't burn ETH. -- [EIP-1559](https://eips.ethereum.org/EIPS/eip-1559): Fee market change and EIP-1559 transaction type -- [EIP-2930](https://eips.ethereum.org/EIPS/eip-2930): Optional access lists -- [EIP-3198](https://eips.ethereum.org/EIPS/eip-3198): `BASEFEE` opcode - -EIPs imported from the Shanghai fork: - -- [EIP-3651](https://eips.ethereum.org/EIPS/eip-3651): Warm `COINBASE` -- [EIP-3855](https://eips.ethereum.org/EIPS/eip-3855): `PUSH0` instruction -- [EIP-3860](https://eips.ethereum.org/EIPS/eip-3860): Limit and meter initcode - - - + \ No newline at end of file