base-org / node

Everything required to run your own Base node
MIT License
68.12k stars 2.51k forks source link

Outdated with major recommended protocol change local=v6.0.0 required=v7.0.0 recommended=v7.0.0 #294

Open webhype opened 1 month ago

webhype commented 1 month ago

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?

webhype commented 1 month ago

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...