Skip to content

Commit 3ee141c

Browse files
committed
updated the release instructions
1 parent be17ee2 commit 3ee141c

File tree

1 file changed

+96
-71
lines changed

1 file changed

+96
-71
lines changed

pages/builders/chain-operators/tutorials/create-l2-rollup.mdx

Lines changed: 96 additions & 71 deletions
Original file line numberDiff line numberDiff line change
@@ -112,77 +112,102 @@ Although this adds a few extra steps, it means you'll have an easier time modify
112112
cd optimism
113113
```
114114

115-
{<h3>Check out the correct branch</h3>}
116-
117-
<Callout type="info">
118-
You will be using the `tutorials/chain` branch of the Optimism Monorepo to deploy an OP Stack testnet chain during this tutorial.
119-
This is a non-production branch that lags behind the `develop` branch.
120-
You should **NEVER** use the `develop` or `tutorials/chain` branches in production.
121-
</Callout>
122-
123-
```bash
124-
git checkout tutorials/chain
125-
```
126-
127-
<Callout type="warning">
128-
The components in the `tutorials/chain` branch are outdated and may have compatibility issues with the latest L1 networks.\
129-
To ensure compatibility and stability, you will:
130-
131-
1. Download the latest releases of `op-node`, `op-batcher`, and `op-proposer` from the Optimism releases page
132-
2. Use these latest versions to override the outdated components in the `tutorials/chain` branch
133-
3. Maintain compatibility with current L1 network specifications
134-
</Callout>
135-
136-
{<h3> Download the latest Optimism releases </h3>}
137-
138-
1. Visit the [Official Optimism releases page](https://github.com/ethereum-optimism/optimism/releases)
139-
2. Look for the latest stable release tagged as `vX.Y.Z`
140-
3. Download the following components for your operating system:
141-
142-
* `op-node`
143-
* `op-batcher`
144-
* `op-proposer`
145-
146-
{<h3>Verify release integrity</h3>}
147-
148-
1. Download the `checksums.txt` file from the release assets
149-
2. Verify file integrity using the appropriate command for your OS:
150-
151-
```bash
152-
# On Linux
153-
sha256sum -c checksums.txt
154-
# On macOS
155-
shasum -a 256 -c checksums.txt
156-
# On Windows (PowerShell)
157-
Get-FileHash <file> | Format-List
158-
```
159-
160-
{<h3> Download required binaries</h3>}
161-
162-
In the *Assets* section of the release, download these files for your operating system:
163-
164-
* `op-node_<version>_<OS>_<arch>.tar.gz`
165-
* `op-batcher_<version>_<OS>_<arch>.tar.gz`
166-
* `op-proposer_<version>_<OS>_<arch>.tar.gz`
167-
168-
{<h3> Extract binaries</h3>}
169-
170-
Using your system's archive tool:
171-
172-
1. Extract all `.tar.gz` files
173-
2. Override any outdated components in the `tutorials/chain` branch during extraction by moving these extracted files to a directory in your system `PATH`:
174-
175-
* `op-node`
176-
* `op-batcher`
177-
* `op-proposer`
178-
179-
{<h3> Verify installation</h3>}
180-
181-
```bash
182-
op-node --version
183-
op-batcher --version
184-
op-proposer --version
185-
```
115+
{<h3>Create and switch to tutorial branch</h3>}
116+
117+
```bash
118+
git checkout -b tutorial
119+
```
120+
121+
{<h3>Create package.json</h3>}
122+
123+
Create a new file named `package.json` and add the following content:
124+
125+
```json
126+
{
127+
"name": "optimism",
128+
"version": "1.0.0",
129+
"author": "Optimism PBC",
130+
"license": "MIT",
131+
"private": true,
132+
"engines": {
133+
"node": ">=16",
134+
"pnpm": ">=8"
135+
},
136+
"scripts": {
137+
"clean": "pnpm recursive run clean; rm -rf node_modules packages/*/node_modules && echo 'Finished cleaning. Run `pnpm install && pnpm build` from root of repo to rebuild the repo.'",
138+
"bindings": "nx bindings @eth-optimism/contracts-bedrock",
139+
"build": "npx nx run-many --target=build",
140+
"test": "npx nx run-many --target=test",
141+
"issues": "./ops/scripts/todo-checker.sh",
142+
"install:ci": "pnpm install --ignore-scripts --frozen-lockfile && pnpm rebuild nx",
143+
"install:ci:offline": "pnpm install --ignore-scripts --offline --frozen-lockfile && pnpm rebuild nx",
144+
"lint": "npx nx run-many --target=lint",
145+
"test:coverage": "npx nx run-many --target=test:coverage",
146+
"lint:ts:check": "npx nx run-many --target=lint:ts:check",
147+
"lint:check": "npx nx run-many --target=lint:check",
148+
"lint:fix": "npx nx run-many --target=lint:fix",
149+
"lint:specs:fix": "npx markdownlint-cli2-fix \"./specs/**/*.md\"",
150+
"lint:specs:check": "npx markdownlint-cli2 \"./specs/**/*.md\"",
151+
"lint:specs:toc": "npx doctoc '--title=**Table of Contents**' ./specs",
152+
"preinstall": "npx only-allow pnpm",
153+
"ready": "pnpm lint && pnpm test",
154+
"prepare": "husky install",
155+
"release": "npx nx run-many --target=build --skip-nx-cache && pnpm changeset publish",
156+
"release:check": "changeset status --verbose --since=origin/main",
157+
"release:publish": "pnpm install --frozen-lockfile && npx nx run-many --target=build && pnpm build && changeset publish",
158+
"release:version": "changeset version && pnpm install --lockfile-only",
159+
"install:foundry": "curl -L https://foundry.paradigm.xyz | bash && pnpm update:foundry",
160+
"update:foundry": "bash ./ops/scripts/install-foundry.sh",
161+
"install:abigen": "go install github.com/ethereum/go-ethereum/cmd/abigen@$(jq -r .abigen < versions.json)",
162+
"print:abigen": "abigen --version | sed -e 's/[^0-9]/ /g' -e 's/^ *//g' -e 's/ *$//g' -e 's/ /./g' -e 's/^/v/'",
163+
"check:abigen": "[[ $(pnpm -s print:abigen) = $(cat versions.json | jq -r '.abigen') ]] && echo '✓ abigen versions match' || (echo '✗ abigen version mismatch. Run `pnpm upgrade:abigen` to upgrade.' && exit 1)",
164+
"upgrade:abigen": "jq '.abigen = $v' --arg v $(pnpm -s print:abigen) <<<$(cat versions.json) > versions.json",
165+
"install:slither": "pip3 install slither-analyzer==$(jq -r .slither < versions.json)",
166+
"print:slither": "slither --version",
167+
"check:slither": "[[ $(pnpm -s print:slither) = $(jq -r .slither < versions.json) ]] && echo '✓ slither versions match' || (echo '✗ slither version mismatch. Run `pnpm upgrade:slither` to upgrade.' && exit 1)",
168+
"upgrade:slither": "jq '.slither = $v' --arg v $(pnpm -s print:slither) <<<$(cat versions.json) > versions.json"
169+
},
170+
"devDependencies": {
171+
"@babel/eslint-parser": "^7.23.3",
172+
"@changesets/changelog-github": "^0.4.8",
173+
"@types/chai": "^4.3.11",
174+
"@types/chai-as-promised": "^7.1.8",
175+
"@types/mocha": "^10.0.6",
176+
"@types/node": "^20.10.8",
177+
"@typescript-eslint/eslint-plugin": "^6.19.0",
178+
"@typescript-eslint/parser": "^6.17.0",
179+
"chai": "^4.3.10",
180+
"depcheck": "^1.4.7",
181+
"doctoc": "^2.2.0",
182+
"eslint": "^8.56.0",
183+
"eslint-config-prettier": "^9.1.0",
184+
"eslint-config-standard": "^16.0.3",
185+
"eslint-plugin-import": "^2.29.1",
186+
"eslint-plugin-jsdoc": "^35.1.2",
187+
"eslint-plugin-node": "^11.1.0",
188+
"eslint-plugin-prefer-arrow": "^1.2.3",
189+
"eslint-plugin-prettier": "^4.0.0",
190+
"eslint-plugin-promise": "^5.1.0",
191+
"eslint-plugin-react": "^7.24.0",
192+
"eslint-plugin-unicorn": "^49.0.0",
193+
"husky": "^8.0.3",
194+
"lint-staged": "15.2.0",
195+
"markdownlint": "^0.33.0",
196+
"markdownlint-cli2": "0.4.0",
197+
"mocha": "^10.2.0",
198+
"nx": "17.2.8",
199+
"nyc": "^15.1.0",
200+
"prettier": "^2.8.0",
201+
"rimraf": "^5.0.5",
202+
"ts-mocha": "^10.0.0",
203+
"typescript": "^5.3.3",
204+
"nx-cloud": "latest"
205+
},
206+
"dependencies": {
207+
"@changesets/cli": "^2.27.1"
208+
}
209+
}
210+
```
186211
</Steps>
187212

188213
{<h3>Install dependencies</h3>}

0 commit comments

Comments
 (0)