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/interop/explainer.mdx
+1-1Lines changed: 1 addition & 1 deletion
Original file line number
Diff line number
Diff line change
@@ -115,7 +115,7 @@ The transaction that receives the message on the destination chain calls a contr
115
115
This call can be at the top level, directly from the externally owned account, or come through a smart contract.
116
116
The call to `CrossL2Inbox`, also known as the *executing message*, needs to [identify the initiating message uniquely](https://github.com/ethereum-optimism/optimism/blob/develop/packages/contracts-bedrock/src/L2/CrossL2Inbox.sol#L35-L42), using the chain ID of the source chain, the block number, and the index of the log event within that block, as well as a few other fields as a sanity check.
117
117
118
-
`CrossL2Inbox` can either [validate the message exists](https://github.com/ethereum-optimism/optimism/blob/develop/packages/contracts-bedrock/src/L2/CrossL2Inbox.sol#L171-L185), or [call a contract if the message exists](https://github.com/ethereum-optimism/optimism/blob/develop/packages/contracts-bedrock/src/L2/CrossL2Inbox.sol#L171-L185).
118
+
`CrossL2Inbox` can either [validate the message exists](https://github.com/ethereum-optimism/optimism/blob/develop/packages/contracts-bedrock/src/L2/CrossL2Inbox.sol#L76-L83), or [call a contract if the message exists](https://github.com/ethereum-optimism/optimism/blob/develop/packages/contracts-bedrock/src/L2/CrossL2Inbox.sol#L76-L83).
Copy file name to clipboardExpand all lines: pages/operators/chain-operators/configuration/proposer.mdx
+1-1Lines changed: 1 addition & 1 deletion
Original file line number
Diff line number
Diff line change
@@ -27,7 +27,7 @@ options are from the `--help` in [v1.7.6](https://github.com/ethereum-optimism/o
27
27
28
28
## Proposer policy
29
29
30
-
The proposer policy defines high-level constraints and responsibilities regarding how L2 output roots are posted to L1. Below are the [standard guidelines](/superchain/standard-configuration) for configuring the batcher within the OP Stack.
30
+
The proposer policy defines high-level constraints and responsibilities regarding how L2 output roots are posted to L1. Below are the [standard guidelines](/superchain/standard-configuration) for configuring the proposer within the OP Stack.
Copy file name to clipboardExpand all lines: pages/operators/chain-operators/deploy/genesis.mdx
-82Lines changed: 0 additions & 82 deletions
Original file line number
Diff line number
Diff line change
@@ -89,88 +89,6 @@ Once you have `genesis.json` and `rollup.json`:
89
89
2. Configure op-node with rollup.json.
90
90
3. Set up additional off-chain infrastructure as needed (block explorer, indexers, etc.). For more on architecture, see [Architecture overview](/operators/chain-operators/architecture).
91
91
92
-
## Legacy method: using foundry script
93
-
94
-
The following guide shows you how to generate the L2 genesis file `genesis.json`. This is a JSON
95
-
file that represents the L2 genesis. You will provide this file to the
96
-
execution client (op-geth) to initialize your network. There is also the rollup configuration file, `rollup.json`, which will be
97
-
provided to the consensus client (op-node).
98
-
99
-
<Callouttype="warning">
100
-
The following genesis creation information is the legacy method for creating OP Stack configuration files.
101
-
This method is not recommended. It's preserved here for historical context.
102
-
</Callout>
103
-
104
-
105
-
### Solidity script (Legacy)
106
-
107
-
You can also use the foundry script
108
-
located in the monorepo to generate an "L2 state dump" and then pass this into the op-node genesis subcommand.
Customize the generated intent file according to your requirements. See the [op-deployer configuration guide](/operators/chain-operators/tools/op-deployer#understanding-the-intenttoml-fields) for details.
57
+
58
+
### Deploy the contracts
35
59
36
-
## Deployment configuration
60
+
Execute the deployment:
37
61
38
-
Deploying your OP Stack contracts requires creating a deployment configuration
39
-
JSON file. You will create a new deployment configuration file in the following
For a detailed explanation of the configuration options and their meanings, refer to the [rollup deployment configuration page](/operators/chain-operators/configuration/rollup).
66
+
### Verify contract source code (Optional)
45
67
46
-
## Using `op-deployer`
68
+
Verify your deployed contracts on block explorers:
47
69
48
-
The recommended way to deploy the L1 smart contracts is with the `op-deployer` tool.
49
-
Follow the steps in this [section](/operators/chain-operators/tutorials/create-l2-rollup#using-op-deployer) to learn how it works.
70
+
```bash
71
+
op-deployer verify \
72
+
--l1-rpc-url <l1 rpc url> \
73
+
--etherscan-api-key <your free etherscan api key>
74
+
```
75
+
76
+
### Generate chain configuration files
77
+
78
+
Generate the necessary configuration files for your L2 node:
The OP Stack follows semantic versioning (X.Y.Z) for contract releases:
89
+
90
+
***Major (X):** Breaking changes that require coordination, such as Ecotone or the Fault Proof System
91
+
***Minor (Y):** New features or improvements that maintain backwards compatibility
92
+
***Patch (Z):** Bug fixes and minor improvements
93
+
94
+
Contract releases are tagged in the repository as `op-contracts/vX.Y.Z`.
95
+
96
+
<Callouttype="info">
97
+
For standard chains intended to join the Superchain, always use the latest Optimism Governance approved
98
+
release. You can find these in the [Superchain Registry](https://github.com/ethereum-optimism/superchain-registry).
99
+
</Callout>
50
100
101
+
## Version compatibility
51
102
52
-
## Best practices
103
+
When selecting a contract version, consider:
53
104
54
-
Production users should deploy their L1 contracts from a contracts release.
55
-
All contracts releases are on git tags with the following format:
56
-
`op-contracts/vX.Y.Z`. If you're deploying a new standard chain, you should
57
-
deploy the latest Optimism Governance approved release of the L1 smart contracts with [op-deployer](/operators/chain-operators/tools/op-deployer). This will only initially deploy with permissioned dispute games
58
-
enabled.
59
-
Starting with permissioned fault proofs gives chain operators time to get comfortable
60
-
running the additional infrastructure requirements: [op-challenger](https://github.com/ethereum-optimism/optimism/tree/develop/op-challenger) and
61
-
[monitoring](https://github.com/ethereum-optimism/monitorism/tree/main). There are also
62
-
additional changes to the economics of operating a permissionless fault proof that chain operators should fully understand.
105
+
* L2 Client compatibility: Ensure your chosen contract version is compatible with the op-geth and op-node versions you plan to use
106
+
* Feature requirements: Different versions support different features (e.g., only v2.0.0+ supports permissionless fault proofs)
107
+
* Security updates: Always prefer the latest patch version within your chosen major.minor version
63
108
64
-
## Next steps
109
+
## Next Steps
65
110
66
-
* Learn how to [create your genesis file](/operators/chain-operators/deploy/genesis)
67
-
* See all [configuration options](/operators/chain-operators/configuration/rollup) and example configurations
111
+
* Learn how to [create your genesis file](/operators/chain-operators/deploy/genesis).
112
+
* See all [configuration options](/operators/chain-operators/configuration/rollup) and example configurations.
0 commit comments