Skip to content

Commit d87407b

Browse files
author
Cruz Molina
authored
Merge pull request #80 from inkonchain/docs/refresh-migration-notice
docs: clarify op-geth deprecation and reth snapshot status
2 parents 869624d + 8fd1606 commit d87407b

2 files changed

Lines changed: 62 additions & 13 deletions

File tree

.env.example

Lines changed: 11 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,12 +2,20 @@
22
# ↓ REQUIRED ↓ #
33
###############################################################################
44

5-
# Recommended first run: ink-sepolia + full
5+
# Current status: this template matches the repository's current op-geth-based
6+
# stack. Optimism says op-geth support ends on May 31, 2026 and Glamsterdam
7+
# will require op-reth. op-node is not being deprecated, but this template does
8+
# not yet include an op-reth execution path.
9+
# For long-lived nodes, treat this as the current stack only and plan an
10+
# op-reth migration window now.
11+
12+
# Recommended first run for the current op-geth-based stack: ink-sepolia + full
613
NETWORK_NAME=ink-sepolia
714

815
# "full" starts from an empty datadir. This is the recommended first run.
9-
# "archive" restores from a per-network snapshot pointer during bedrock-init
10-
# and needs much more disk. If the snapshot lookup fails, switch back to full.
16+
# "archive" restores from a per-network geth snapshot pointer during
17+
# bedrock-init and needs much more disk. If the snapshot lookup fails, switch
18+
# back to full.
1119
NODE_TYPE=full
1220

1321
# For a quick Sepolia smoke test, these public endpoints worked during docs

README.md

Lines changed: 51 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,41 @@
22

33
> Forked and customized from https://github.com/smartcontracts/simple-optimism-node
44
5-
A Docker Compose setup for running an Ink node, plus the supporting healthcheck
6-
and monitoring services.
5+
A Docker Compose setup for running an Ink node on the repository's current
6+
`op-geth`-based stack, plus the supporting healthcheck and monitoring services.
7+
8+
## Current Status
9+
10+
This repository currently ships an `op-geth` execution client. The instructions
11+
below are the current `op-geth` runbook for this Compose stack, not the
12+
long-term recommendation.
13+
14+
Per Optimism, `op-geth` support ends on May 31, 2026, and nodes still running
15+
it at the L1 Glamsterdam hardfork will not be able to follow the canonical
16+
chain. `op-node` is not being deprecated. See the
17+
[op-geth deprecation notice](https://docs.optimism.io/notices/op-geth-deprecation)
18+
and the
19+
[op-reth configuration guide](https://docs.optimism.io/node-operators/guides/configuration/execution-clients#op-reth-configuration).
20+
21+
If you operate a production or long-lived node, start planning an `op-reth`
22+
migration now. Run it in parallel, validate it over a meaningful window, and
23+
prepare a fresh snapshot before the hardfork window. Treat this as an
24+
operator-owned migration rather than something to delay until a later
25+
sequencer-side client switch.
26+
27+
This repository does not yet ship an `op-reth` Compose path. Before it can, the
28+
repo still needs:
29+
30+
- a validated `op-reth` service, image, and entrypoint in `docker-compose.yml`
31+
- an `op-node` engine endpoint that no longer points at `http://op-geth:8551`
32+
- archive init and snapshot handling that can consume `op-reth` snapshots where
33+
available. The checked Sepolia Ink Gelato index already exposes
34+
`reth/full/datadir` artifacts, but this repo does not use them yet and the
35+
checked mainnet Ink index still only exposes geth archives
36+
- healthcheck and monitoring updates, which still target `op-geth` and the
37+
`opgeth` InfluxDB database
38+
- env and port naming that no longer assumes `op-geth`, such as
39+
`PORT__OP_GETH_*` and `envs/*/op-geth.env`
740

841
## Recommended Hardware
942

@@ -74,7 +107,8 @@ cp .env.example .env
74107

75108
### 3. Edit `.env`
76109

77-
For the lowest-friction first run, start with `ink-sepolia` and a `full` node:
110+
For the lowest-friction first run on the current `op-geth` stack, start with
111+
`ink-sepolia` and a `full` node:
78112

79113
```sh
80114
NETWORK_NAME=ink-sepolia
@@ -90,9 +124,10 @@ Configuration notes:
90124
- `NETWORK_NAME`: `ink-sepolia` or `ink-mainnet`
91125
- `NODE_TYPE=full`: starts from an empty local datadir. This is the validated
92126
first-run path in this repo
93-
- `NODE_TYPE=archive`: resolves the newest archival geth datadir from the
94-
Gelato ChainSnap index for your network, downloads the matching `.sha256`,
95-
verifies the archive, and extracts it during `bedrock-init`
127+
- `NODE_TYPE=archive`: resolves the newest archival geth datadir for the
128+
current `op-geth` stack from the Gelato ChainSnap index for your network,
129+
downloads the matching `.sha256`, verifies the archive, and extracts it
130+
during `bedrock-init`
96131
- `OP_NODE__RPC_TYPE=basic`: the right default for generic providers; use
97132
`alchemy`, `quicknode`, or `erigon` only when your provider requires it
98133
- `.env` overrides the same variable for services that load `.env` in
@@ -119,7 +154,7 @@ This pulls the service images, builds the local `bedrock-init` image, creates a
119154
JWT, and starts:
120155

121156
- `bedrock-init` (one-time init)
122-
- `op-geth`
157+
- `op-geth` (current execution client in this repo)
123158
- `op-node`
124159
- `healthcheck`
125160
- `prometheus`
@@ -158,7 +193,7 @@ Good startup signals:
158193

159194
### Smoke test the RPC endpoints
160195

161-
Execution RPC:
196+
Execution RPC for the current `op-geth` service:
162197

163198
```sh
164199
curl -fsS -X POST -H "Content-Type: application/json" --data '{"jsonrpc":"2.0","method":"eth_chainId","params":[],"id":1}' http://127.0.0.1:9993
@@ -303,13 +338,19 @@ If image pulls or snapshot downloads fail, make sure the host can reach:
303338
- `ink.t.snapshots.gelato.cloud`
304339
- `ink.snapshots.gelato.cloud`
305340

306-
Archive snapshots are resolved from these indexes:
341+
Archive geth snapshots for the current stack are resolved from these indexes:
307342

308343
- Sepolia: [https://ink.t.snapshots.gelato.cloud/index.html](https://ink.t.snapshots.gelato.cloud/index.html)
309344
- Mainnet: [https://ink.snapshots.gelato.cloud/index.html](https://ink.snapshots.gelato.cloud/index.html)
310345

311346
`bedrock-init` downloads the matching `.sha256` file and verifies the archive
312-
before extraction.
347+
before extraction. This is still a geth datadir path, not an `op-reth`
348+
bootstrap flow.
349+
350+
At the time of this docs refresh, the Sepolia Ink Gelato index also exposes
351+
`reth/full/datadir` artifacts, but the checked mainnet Ink index does not yet
352+
show `reth` artifacts. This repository does not consume those `reth` snapshots
353+
yet.
313354

314355
If `bedrock-init` exits with `Failed to resolve latest snapshot` or
315356
`Unexpected snapshot filename format`, the index is unreachable or its format

0 commit comments

Comments
 (0)