Skip to content

Commit 7766afb

Browse files
authored
Update info on opcodes (scroll-tech#297)
* update info on opcodes * update EIPs
1 parent af03e20 commit 7766afb

File tree

2 files changed

+9
-26
lines changed

2 files changed

+9
-26
lines changed

src/content/docs/en/developers/ethereum-and-scroll-differences.mdx

Lines changed: 4 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -26,14 +26,14 @@ For open-source contributors and infrastructure builders, please contact our tea
2626
| `BLOCKHASH` | `block.blockhash` | Returns `keccak(chain_id \|\| block_number)` for the last 256 blocks. |
2727
| `COINBASE` | `block.coinbase` | Returns the pre-deployed fee vault contract address. See [Scroll Contracts](/developers/scroll-contracts). |
2828
| `DIFFICULTY` / `PREVRANDAO` | `block.difficulty` | Returns 0. |
29-
| `BASEFEE` | `block.basefee` | Disabled.[^eip1559] If the opcode is encountered, the transaction will be reverted. |
3029
| `SELFDESTRUCT` | `selfdestruct` | Disabled. If the opcode is encountered, the transaction will be reverted.[^willadpot] |
3130

3231
<Aside type="caution" title="">
33-
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. We recommend using `shanghai` as your EVM target and avoiding using a Solidity version higher than `0.8.23`.
32+
Opcodes related to EIP-4844, like `BLOBHASH` and `BLOBBASEFEE`, are not yet available on Scroll. Additionally, [EIP-4788](https://eips.ethereum.org/EIPS/eip-4788) for accessing the Beacon Chain block root is not supported.
3433
</Aside>
3534

36-
[^eip1559]: We have currently disabled EIP-1559 on Scroll.
35+
We support the `cancun` EVM target and the latest Solidity version `0.8.26`.
36+
3737
[^willadpot]: Will change to adopt Ethereum’s solution in the future.
3838

3939
## EVM Precompiles
@@ -91,12 +91,7 @@ When verifying `EXTCODESIZE`, it is expensive to load the whole contract data in
9191

9292
## Block Time
9393

94-
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.
95-
96-
This was chosen for two reasons:
97-
98-
- Having faster, constant block time results in quicker feedback and a better user experience.
99-
- 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.
94+
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.
10095

10196
## Transaction Ordering
10297

src/content/docs/en/technology/chain/differences.mdx

Lines changed: 5 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,6 @@ import Aside from "../../../../../components/Aside.astro"
1616
| `BLOCKHASH` | Returns `keccak(chain_id \|\| block_number)` for the last 256 blocks. |
1717
| `COINBASE` | Returns the fee vault address (predeployed contract `0x5300000000000000000000000000000000000005`). |
1818
| `DIFFICULTY` / `PREVRANDAO` | Always return 0. |
19-
| `BASEFEE` | Disabled because currently we disabled EIP-1559. If the opcode is encountered, the transaction will be reverted. |
2019
| `SELFDESTRUCT` | Disabled. If the opcode is encountered, the transaction will be reverted. |
2120

2221
## Precompiled Contracts
@@ -33,21 +32,10 @@ The remaining precompiled contracts have the same behavior as Ethereum. However,
3332

3433
## EIPs
3534

36-
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.
35+
Our sequencer was developed based on the London fork initially. Since then we have adopted most features from London, Shanghai, and Cancun.
3736

38-
Disabled EIPs until the London fork:
37+
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.
3938

40-
- [EIP-1559](https://eips.ethereum.org/EIPS/eip-1559): Fee market change and EIP-1559 transaction type
41-
- [EIP-2930](https://eips.ethereum.org/EIPS/eip-2930): Optional access lists
42-
- [EIP-3198](https://eips.ethereum.org/EIPS/eip-3198): `BASEFEE` opcode
43-
44-
EIPs imported from the Shanghai fork:
45-
46-
- [EIP-3651](https://eips.ethereum.org/EIPS/eip-3651): Warm `COINBASE`
47-
- [EIP-3855](https://eips.ethereum.org/EIPS/eip-3855): `PUSH0` instruction
48-
- [EIP-3860](https://eips.ethereum.org/EIPS/eip-3860): Limit and meter initcode
49-
50-
51-
<Aside type="tip" title="">
52-
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.
53-
</Aside>
39+
<Aside type="caution" title="">
40+
Opcodes related to EIP-4844, like `BLOBHASH` and `BLOBBASEFEE`, are not yet available on Scroll. Additionally, [EIP-4788](https://eips.ethereum.org/EIPS/eip-4788) for accessing the Beacon Chain block root is not supported.
41+
</Aside>

0 commit comments

Comments
 (0)