Outdated with major recommended protocol change local=v6.0.0 required=v7.0.0 recommended=v7.0.0
Won't sync; geth exits with "Outdated with major recommended protocol change local=v6.0.0 required=v7.0.0 recommended=v7.0.0"... I think I followed the instructions to a T.
geth logs:
geth-1 | ERROR[07-11|13:40:42.483] Outdated with major recommended protocol change local=v6.0.0 required=v7.0.0 recommended=v7.0.0
geth-1 | ERROR[07-11|13:40:42.483] Outdated with major required protocol change local=v6.0.0 required=v7.0.0 recommended=v7.0.0
geth-1 | ERROR[07-11|13:40:42.483] Opted to halt, unprepared for protocol change required=v7.0.0 local=v6.0.0
geth-1 | INFO [07-11|13:40:42.483] HTTP server stopped endpoint=[::]:8545
geth-1 | INFO [07-11|13:40:42.746] HTTP server stopped endpoint=[::]:8546
geth-1 | INFO [07-11|13:40:42.746] HTTP server stopped endpoint=[::]:8551
geth-1 | INFO [07-11|13:40:42.746] IPC endpoint closed url=/data/geth.ipc
node-1 | t=2024-07-11T13:40:42+0000 lvl=warn msg="failed to notify engine of protocol version" err="websocket: close 1006 (abnormal closure): unexpected EOF"
node-1 | t=2024-07-11T13:40:42+0000 lvl=error msg="Outdated with major recommended protocol change" node=engine
node-1 | t=2024-07-11T13:40:42+0000 lvl=error msg="Outdated with major required protocol change" node=engine
geth-1 | INFO [07-11|13:40:42.746] Ethereum protocol stopped
geth-1 | INFO [07-11|13:40:42.746] Transaction pool stopped
geth-1 | INFO [07-11|13:40:42.748] Writing snapshot state to disk root=b2afcb..e18328
geth-1 | INFO [07-11|13:40:42.748] Persisted trie from memory database nodes=0 size=0.00B time="3.046µs" gcnodes=0 gcsize=0.00B gctime=0s livenodes=0 livesize=0.00B
geth-1 | INFO [07-11|13:40:42.748] Blockchain stopped
.env.mainnet:
services:
execution: # this is Optimism's geth client
build:
context: .
dockerfile: ${CLIENT}/Dockerfile
ports:
- "127.0.0.1:8545:8545"
- "127.0.0.1:8546:8546"
- 7301:6060 # metrics
command: [ "bash", "./execution-entrypoint" ]
volumes:
- ${HOST_DATA_DIR}:/data
env_file:
- .env.mainnet
node:
build: # This section added 240620
context: .
dockerfile: ${CLIENT}/Dockerfile
depends_on:
- execution
ports:
- "7545:8545" # RPC
- "9222:9222" # P2P TCP
- "9222:9222/udp" # P2P UDP
- "7300:7300" # metrics
- "6060:6060" # pprof
command: [ "bash", "./op-node-entrypoint" ]
env_file:
- .env.mainnet
.env:
CLIENT=${CLIENT:-geth}
HOST_DATA_DIR=./${CLIENT}-data
.env.mainnet:
RETH_CHAIN=base
RETH_SEQUENCER_HTTP=https://mainnet-sequencer.base.org
OP_GETH_SEQUENCER_HTTP=https://mainnet-sequencer.base.org
# [optional] used to enable geth stats:
# OP_GETH_ETH_STATS=nodename:secret@host:port
# [required] replace with your preferred L1 (Ethereum, not Base) node RPC URL:
OP_NODE_L1_ETH_RPC=https://REDACTED
# [required] replace with your preferred L1 CL beacon endpoint:
OP_NODE_L1_BEACON=https://REDACTED
# auth secret used by op-geth engine API:
OP_NODE_L2_ENGINE_AUTH_RAW=688f5d737bad920bdfb2fc2f488d6b6209eebda1dae949a8de91398d932c517a
OP_NODE_L2_ENGINE_AUTH=/tmp/engine-auth-jwt
OP_NODE_L2_ENGINE_RPC=ws://execution:8551
OP_NODE_LOG_LEVEL=info
OP_NODE_METRICS_ADDR=0.0.0.0
OP_NODE_METRICS_ENABLED=true
OP_NODE_METRICS_PORT=7300
OP_NODE_NETWORK=base-mainnet
OP_NODE_P2P_AGENT=base
OP_NODE_P2P_BOOTNODES=enr:-J24QNz9lbrKbN4iSmmjtnr7SjUMk4zB7f1krHZcTZx-JRKZd0kA2gjufUROD6T3sOWDVDnFJRvqBBo62zuF-hYCohOGAYiOoEyEgmlkgnY0gmlwhAPniryHb3BzdGFja4OFQgCJc2VjcDI1NmsxoQKNVFlCxh_B-716tTs-h1vMzZkSs1FTu_OYTNjgufplG4N0Y3CCJAaDdWRwgiQG,enr:-J24QH-f1wt99sfpHy4c0QJM-NfmsIfmlLAMMcgZCUEgKG_BBYFc6FwYgaMJMQN5dsRBJApIo>
OP_NODE_P2P_LISTEN_IP=0.0.0.0
OP_NODE_P2P_LISTEN_TCP_PORT=9222
OP_NODE_P2P_LISTEN_UDP_PORT=9222
OP_NODE_RPC_ADDR=0.0.0.0
OP_NODE_RPC_PORT=8545
OP_NODE_SNAPSHOT_LOG=/tmp/op-node-snapshot-log
OP_NODE_VERIFIER_L1_CONFS=4
OP_NODE_ROLLUP_LOAD_PROTOCOL_VERSIONS=true
./geth-data dir contains very recent (2 days ago) snapshot base-mainnet-full-1720420879.tar.zst
What is this change from 6.0.0 to 7.0.0? Where is my misconfiguration?
What is odd is that the logs show geth-1 and not execution-1. There was a prior installation at that exact place where it was still called geth, not execution. Could it be a docker cache / image that doesn't get fully rebuilt based on the new docker-compose.yml? I made a fresh directory every time but who knows any more what Docker really does? Will investigate in that direction...
do you know what happened here?
@webhype solution is easy: just need to run docker compose build before starting containters again - so new geth will be downloaded
This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.
This issue was closed because it has been inactive for 5 days since being marked as stale.