You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: pages/operators/chain-operators/tutorials/absolute-prestate.mdx
+16-31Lines changed: 16 additions & 31 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -77,37 +77,35 @@ make op-program
77
77
Generate the prestate by running the op-program binary directly:
78
78
79
79
```bash
80
-
./op-program/bin/op-program prestate
81
-
80
+
cd op-program
81
+
make reproducible-prestate
82
+
cd ..
82
83
```
83
84
84
-
For older versions (prior to Upgrade 14), you might use:
85
+
The output should look like this:
85
86
86
87
```bash
87
-
cd op-program
88
-
make reproducible-prestate
89
-
cd ..
90
88
91
-
```
89
+
-------------------- Production Prestates --------------------
92
90
93
-
<Callouttype="note">
94
-
The exact command may vary based on the specific version you're using. Check the available commands with `./op-program/bin/op-program --help` or `make -C op-program help`.
*`Cannon64`: The current production absolute prestate hash for the 64-bit version of Cannon
107
+
*`CannonInterop`: The absolute prestate hash used for interoperability
108
+
*`Cannon64Next`: The next state version for Cannon with in-progress features (like Go 1.24 support)
111
109
112
110
For permissionless fault proofs, you'll primarily use the Cannon64 absolute prestate hash.
113
111
@@ -127,24 +125,16 @@ Verify the absolute prestate by checking the hash:
127
125
128
126
The Superchain registry maintains official absolute prestate hashes for chains that are part of the registry.
129
127
These prestates include the configurations of all chains in the Superchain registry.
130
-
131
-
<Callouttype="note">
132
-
For chains listed in the Superchain registry, you should use the official prestate hashes rather than generating your own.
133
-
</Callout>
128
+
For chains listed in the Superchain registry, you should use the official prestate hashes rather than generating your own.
134
129
135
130
You can find the latest prestate tags in the [Superchain registry](https://github.com/ethereum-optimism/superchain-registry/blob/main/validation/standard/standard-prestates.toml).
136
131
137
-
Current official prestate hashes for Isthmus hardfork (as of writing):
If your chain is not included in the Superchain registry, you'll need to generate a custom prestate with your specific chain configuration. This applies to:
144
135
145
136
* New chains
146
137
* Chains with custom configurations
147
-
* "Stealth launches" or other unannounced chains
148
138
149
139
For these cases, follow these additional steps:
150
140
@@ -163,19 +153,14 @@ For these cases, follow these additional steps:
163
153
make cannon-prestate ROLLUP_CONFIG=/path/to/your/rollup.json L2_GENESIS=/path/to/your/genesis-l2.json
164
154
```
165
155
166
-
### Process and verify
167
-
168
-
Verify and prepare the preimage file as described in Steps 4-5 above
169
156
</Steps>
170
157
171
-
<Callouttype="warning">
172
158
The initial prestate used for permissioned games doesn't include the necessary chain configuration for the Fault proof system.
173
159
The assumption is that the chain operator, the single permissioned actor, will not challenge their own games.
174
160
So the absolute prestate on the initial `PermissionedDisputeGame` will never be used.
175
161
176
162
When deploying a new chain, you must first deploy the L1 contracts and then retrieve the artifacts.
177
163
These are inputs to the creation of the absolute prestate and this circular dependency is the reason chains cannot be deployed directly to the permissionless Fault Proof System.
178
-
</Callout>
179
164
180
165
## Deploying and configuring with the absolute prestate
0 commit comments