Skip to content

Commit b374c9a

Browse files
Update feynman docs
1 parent d324a31 commit b374c9a

File tree

1 file changed

+87
-0
lines changed

1 file changed

+87
-0
lines changed
Lines changed: 87 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,87 @@
1+
---
2+
section: technology
3+
date: Last Modified
4+
title: "Feynman Upgrade"
5+
lang: "en"
6+
permalink: "technology/overview/scroll-upgrades/feynman-upgrade"
7+
whatsnext: { "Euclid Upgrade": "/en/technology/overview/scroll-upgrades/euclid-upgrade" }
8+
---
9+
10+
### Overview
11+
This upgrade contains changes such as:
12+
- Improve compatibility with EVM:
13+
- The blockhash opcode will now return the actual block hash, instead of a pseudo-random hash derived from the chain ID and block number.
14+
- The ecPairing precompile will now be fully compatible with Ethereum’s version, we remove the previous input limits.
15+
- Adopt [EIP-2935](https://eips.ethereum.org/EIPS/eip-2935): Serve historical block hashes from state from Pectra. This system contract will allow smart contract devs to access to most recent 8191 block hashes. This EIP also plays a key role in restoring the blockhash opcode’s original behavior.
16+
- Adopt [EIP-7623](https://eips.ethereum.org/EIPS/eip-7623): Increase calldata cost from Pectra.
17+
- Gas fee parameter redesign
18+
- Post Euclid clean-ups
19+
20+
Please note that [EIP-7702](https://eips.ethereum.org/EIPS/eip-7702) from Pectra has been supported since the Euclid upgrade.
21+
22+
#### Simplified Smart Contracts
23+
Migrating from halo2 to OpenVM allowed us to remove some previous limitations of the protocol, including transaction skipping.
24+
In Feynman, we remove skipping, as well as old codec versions from our deployed smart contracts.
25+
26+
### Timeline
27+
28+
- **Scroll Sepolia** : Jul 22nd, 2025
29+
- **Scroll Mainnet** : Aug 19th, 2025
30+
31+
### Compatibility
32+
33+
This release updates the embedded hard fork block timestamp for Scroll mainnet.
34+
**Nodes that are not upgraded will be unable to follow the network after the hard fork block.**
35+
36+
To follow the Feynman upgrade, simply run your node with the `--scroll` flag for mainnet (and `--scroll-sepolia` for testnet).
37+
38+
If you do not use the `--scroll` flag, then you must update and reimport `genesis.json`.
39+
40+
Genesis.json difference :
41+
```json
42+
{
43+
"config": {
44+
"chainId": 534352,
45+
...
46+
"euclidTime": 1744815600,
47+
"euclidV2Time": 1745305200,
48+
"feynmanTime": 1755576000,
49+
...
50+
"scroll": {
51+
...
52+
"genesisStateRoot": "0x08d535cc60f40af5dd3b31e0998d7567c2d568b224bed2ba26070aeb078d1339",
53+
"missingHeaderFieldsSHA256": "0xfa2746026ec9590e37e495cb20046e20a38fd0e7099abd2012640dddf6c88b25"
54+
...
55+
```
56+
57+
#### Node Operators
58+
59+
**Mandatory changes:**
60+
- `--gpo.congestionthreshold` is deprecated and should be removed.
61+
62+
**Recommended changes:**
63+
64+
- Enable the direct-to-sequencer endpoint using `--gossip.sequencerhttp <sequencer-url>`. This reduces latency for transaction submission.
65+
66+
- Scroll mainnet: `--gossip.sequencerhttp https://mainnet-sequencer-proxy.scroll.io`
67+
- Scroll Sepolia: `--gossip.sequencerhttp https://sepolia-sequencer-proxy.scroll.io`
68+
69+
For nodes running with `--rollup.verify` or `--da.sync`:
70+
71+
- Enable the AWS S3 blob data source using `--da.blob.awss3 <s3-bucket-url>`.
72+
This can be used alongside other blob data sources (`da.blob.beaconnode`, `da.blob.blobscan`, `da.blob.blocknative`).
73+
74+
- Scroll mainnet: `--da.blob.awss3 https://scroll-mainnet-blob-data.s3.us-west-2.amazonaws.com`
75+
- Scroll Sepolia: `--da.blob.awss3 https://scroll-sepolia-blob-data.s3.us-west-2.amazonaws.com`
76+
77+
See more details in the [testnet release notes](https://github.com/scroll-tech/go-ethereum/releases/tag/scroll-v5.8.72).
78+
79+
#### Dapps and Indexers
80+
81+
While Feynman introduces several [contract changes](https://github.com/scroll-tech/scroll-contracts/compare/v2.0.0...feat-feynman-contract-changes), most of them are internal. Projects that decode batches can continue using the current EuclidV2 codec, however the batch version will become v8.
82+
83+
Maintainers of smart contracts that rely on the blockhash opcode must carefully consider the impact of the change in this opcode’s behavior on their dapp.
84+
85+
Finally, any projects that do off-chain fee computation (instead of relying on RPC queries) should review the new fee formula [1](https://github.com/scroll-tech/go-ethereum/pull/1199) [2](https://github.com/scroll-tech/go-ethereum/pull/1217) and update their system accordingly.
86+
87+
Projects requiring additional guidance should open a [ticket on Discord](https://discord.com/channels/853955156100907018/1280768286124146732).

0 commit comments

Comments
 (0)