Skip to content
Merged
Changes from 1 commit
Commits
Show all changes
42 commits
Select commit Hold shift + click to select a range
be63b65
update tut
krofax Mar 6, 2025
5806584
added a viem
krofax Mar 6, 2025
455696a
updated branch
krofax Mar 6, 2025
a4cf8bd
updating tuts
krofax Mar 6, 2025
a47ce5e
update tut
krofax Mar 10, 2025
22c650c
updated codebase and contents
krofax Mar 21, 2025
3fb2bf2
Auto-fix: Update breadcrumbs, spelling dictionary and other automated…
krofax Mar 21, 2025
723c4b8
Update pages/app-developers/tutorials/bridging/cross-dom-bridge-erc20…
krofax Mar 21, 2025
3fb0ccf
updated the codebase
krofax Mar 27, 2025
b0a6f00
Auto-fix: Update breadcrumbs, spelling dictionary and other automated…
krofax Mar 27, 2025
01cf9ec
updated the codebase and import
krofax Mar 28, 2025
f14cc9b
updated the scripts and file imports
krofax Apr 3, 2025
b448e9a
updated the file imports
krofax Apr 3, 2025
aa7d0a3
updated codes, contents and file imports
krofax Apr 3, 2025
f4d741f
updated codebase
krofax Apr 3, 2025
66850f9
tiny updates
krofax Apr 3, 2025
2b25d0c
Add detailed descriptions
krofax Apr 4, 2025
dd7db17
remove weird css bg color
krofax Apr 4, 2025
eeb11c0
fixed file imports
krofax Apr 4, 2025
dfea4bb
fixed another broken file imports
krofax Apr 4, 2025
beae074
fix typo
krofax Apr 4, 2025
5072187
fix hash
krofax Apr 7, 2025
e88aace
update text
krofax Apr 14, 2025
72d2be7
updated the genesis file
krofax May 5, 2025
75594f2
updated title
krofax May 5, 2025
79b1f10
updated the docs
krofax May 5, 2025
2ec9e85
removed some sections
krofax May 5, 2025
c77df77
Added meta.json
krofax May 6, 2025
3751204
Update pages/operators/chain-operators/deploy/genesis.mdx
krofax May 8, 2025
7bd9bd4
Update pages/operators/chain-operators/deploy/genesis.mdx
krofax May 8, 2025
ca7f3f3
Update pages/operators/chain-operators/deploy/genesis.mdx
krofax May 8, 2025
363849f
updated contents
krofax May 13, 2025
0a096f9
Auto-fix: Update breadcrumbs, spelling dictionary and other automated…
krofax May 13, 2025
5c481ae
Update pages/operators/chain-operators/deploy/genesis.mdx
krofax May 15, 2025
d154c18
Add the tutorial
krofax May 15, 2025
d20c8df
Merge branch 'main' into update-genesis
krofax May 15, 2025
70ab6e2
updated yaml file
krofax May 16, 2025
46e6e0b
updated yaml file
krofax May 16, 2025
bf81b1c
Auto-fix: Update breadcrumbs, spelling dictionary and other automated…
krofax May 16, 2025
2715823
updated package
krofax May 16, 2025
1120073
remove deprecation
krofax May 16, 2025
a07e8a8
Auto-fix: Update breadcrumbs, spelling dictionary and other automated…
krofax May 16, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
updated the docs
  • Loading branch information
krofax committed May 5, 2025
commit 79b1f10cc30eb7ecfe7a1ade479f5ecac9dfb685
98 changes: 89 additions & 9 deletions pages/operators/chain-operators/deploy/genesis.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -101,19 +101,99 @@ The `rollup.json` file contains the rollup protocol parameters, including:

## Using your configuration files

Once you have generated the configuration files:
After retrieving your configuration files, you'll need to set up your OP Stack node components:

1. **Initialize your execution client** with the genesis file:
### Step 1: Install required components

```bash
op-geth init --datadir <YOUR_DATA_DIR> .deployer/genesis.json
```
Before initializing your node, you need to install the OP Stack software components. The OP Stack architecture follows the Consensus/Execution split similar to post-Merge Ethereum L1 with two main components:

2. **Configure your consensus client** with the rollup file:
* **op-geth**: The execution client (similar to geth on Ethereum)
* **op-node**: The consensus client (rollup node)

```bash
op-node --l2.genesis .deployer/genesis.json --rollup.config .deployer/rollup.json [other options]
```
You'll need to build these components from their respective source repositories:

```bash
# Clone the repositories
git clone https://github.com/ethereum-optimism/op-geth.git
git clone https://github.com/ethereum-optimism/optimism.git

# Build op-geth (execution client)
cd op-geth
make geth
cd ..

# Build op-node (consensus client)
cd optimism
just op-node
cd ..
```

For more detailed installation instructions, see the [OP Stack node setup guide](/operators/node-operators/tutorials/run-node-from-source).

### Step 2: Initialize your execution client

The op-geth execution client requires initialization with your genesis file. This creates the initial blockchain state in your data directory:

```bash
# Create a data directory for your chain
mkdir -p <YOUR_DATA_DIR>

# Initialize op-geth with your genesis file
./op-geth/build/bin/geth init --datadir <YOUR_DATA_DIR> .deployer/genesis.json
```

### Step 3: Generate a JWT secret for secure communication

op-geth and op-node communicate over the Engine API, secured using a shared JWT secret:

```bash
# Generate a JWT secret file
openssl rand -hex 32 > <YOUR_DATA_DIR>/jwt-secret.txt
```

### Step 4: Start your execution client

Start the op-geth execution client with appropriate parameters:

```bash
./op-geth/build/bin/geth \
--datadir <YOUR_DATA_DIR> \
--http \
--http.api eth,net,web3,debug \
--http.addr 0.0.0.0 \
--http.port 8545 \
--http.corsdomain "*" \
--authrpc.addr 0.0.0.0 \
--authrpc.port 8551 \
--authrpc.vhosts "*" \
--authrpc.jwtsecret <YOUR_DATA_DIR>/jwt-secret.txt
```

### Step 5: Configure your consensus client

The op-node consensus client requires your rollup configuration file along with connections to both L1 and L2:

```bash
./optimism/op-node/bin/op-node \
--l2.genesis .deployer/genesis.json \
--rollup.config .deployer/rollup.json \
--l1.rpc <YOUR_L1_RPC_URL> \
--l2.engine-auth <YOUR_DATA_DIR>/jwt-secret.txt \
--l2.engine-sync http://localhost:8551 \
--rpc.addr 0.0.0.0 \
--rpc.port 7545 \
--p2p.disable
```

Replace the placeholders:

* `<YOUR_DATA_DIR>`: Path to your chain data directory
* `<YOUR_L1_RPC_URL>`: URL for your L1 node (Ethereum) connection

For detailed configuration options:

* [op-geth configuration guide](/operators/node-operators/configuration/execution-config)
* [op-node configuration guide](/operators/node-operators/configuration/base-config)

## Troubleshooting

Expand Down