Skip to content

Commit c2a12ad

Browse files
authored
Merge pull request #810 from ethereum-optimism/deployment-clarification
minor updates for l1 contract deployments
2 parents 9fb7254 + eeb4ea0 commit c2a12ad

File tree

2 files changed

+24
-6
lines changed

2 files changed

+24
-6
lines changed

pages/builders/chain-operators/deploy/smart-contracts.mdx

+10-6
Original file line numberDiff line numberDiff line change
@@ -9,9 +9,10 @@ import { Callout } from 'nextra/components'
99
# OP Stack Smart Contract Deployment
1010

1111
The following guide shows you how to deploy the OP Stack L1 smart contracts.
12-
The primary development branch is `develop`. It contains the most up-to-date
13-
software that remains backwards compatible with the latest experimental
14-
network deployments. **Changes to the smart contracts are generally not considered backwards compatible.**
12+
The primary development branch is `develop`, however **you should only deploy
13+
official contract releases**. You can visit the see the [smart contract overview](/stack/smart-contracts#official-releases)
14+
for the official release versions. Changes to the smart contracts are
15+
generally not considered backwards compatible.
1516

1617
<Callout>
1718
Standard OP Stack chains should use governance approved and audited versions
@@ -21,12 +22,15 @@ network deployments. **Changes to the smart contracts are generally not consider
2122
## Deployment Configuration
2223

2324
Deploying your OP Stack contracts requires creating a deployment configuration
24-
JSON file. For the full set of options, you can see the [rollup configuration page](/builders/chain-operators/configuration/rollup).
25+
JSON file. You will create a new deployment configuration file in the following
26+
monorepo subdirectory: [packages/contracts-bedrock/deploy-config](https://github.com/ethereum-optimism/optimism/tree/develop/packages/contracts-bedrock/deploy-config)
27+
For the full set of deployment configuration options and their meanings, you
28+
can see the [rollup deployment configuration page](/builders/chain-operators/configuration/rollup).
2529

2630
## Deployment Script
2731

2832
The smart contracts are deployed using [foundry](https://github.com/foundry-rs)
29-
and you can find the script's source code in the monorepo at
33+
and you can find the script's source code in the monorepo at
3034
[packages/contracts-bedrock/scripts/deploy/Deploy.s.sol](https://github.com/ethereum-optimism/optimism/blob/develop/packages/contracts-bedrock/scripts/deploy/Deploy.s.sol).
3135

3236
### State Diff
@@ -69,7 +73,7 @@ DEPLOY_CONFIG_PATH=<PATH_TO_MY_DEPLOY_CONFIG> \
6973
```
7074

7175
### Deploying a single contract
72-
All functions for deploying a single contract are public, meaning that
76+
7377
All functions for deploying a single contract are public, meaning that
7478
the `--sig` argument to forge script can be used to target the deployment of a
7579
single contract.

pages/builders/chain-operators/management/best-practices.mdx

+14
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,20 @@ and `op-geth` releases can be found [here](https://github.com/ethereum-optimism/
3535
version. Since we cannot left-pad with zeroes, the geth major version is not
3636
padded.
3737

38+
### Keep Deployment Artifacts
39+
40+
After deploying your contracts on Ethereum, you should keep a record of all the
41+
deployment artifacts:
42+
43+
* Contract release tag and commit hash
44+
* Contract deployment configuration file. This is the JSON file you created
45+
and passed to the deployment script when you deployed the contracts.
46+
* Contract deployment directory with smart contract artifacts. This is
47+
created in [packages/contracts-bedrock/deployments](https://github.com/ethereum-optimism/optimism/tree/develop/packages/contracts-bedrock/deployments)
48+
* The rollup configuration file that you generated after the contract
49+
deployment
50+
* The genesis file that you generated after the contract deployment
51+
3852
### Incremental Upgrade Rollouts
3953

4054
When upgrading your nodes, take a staggered approach. This means deploying the

0 commit comments

Comments
 (0)