testinprod-io / op-erigon

Optimism implementation on the efficiency frontier
https://op-erigon.testinprod.io
GNU Lesser General Public License v3.0
87 stars 15 forks source link

the method engine_forkchoiceUpdatedV3 does not exist/is not available #169

Closed temuera closed 6 months ago

temuera commented 6 months ago

op-erigon: latest ,chain = base-mainnet op-node: latest, v1.7.5

L1: erigon 2.59.3 (archive node) L1.beacon: erigon internalCL (caplin)

op-erigon logs:

WARN[05-11|08:27:32.536] [rpc] served                             conn=127.0.0.1:45846 method=engine_forkchoiceUpdatedV3 reqid=543 t=32.751µs err="the method engine_forkchoiceUpdatedV3 does not exist/is not available"
WARN[05-11|08:27:42.590] [rpc] served                             conn=127.0.0.1:45846 method=engine_forkchoiceUpdatedV3 reqid=544 t=26.34µs err="the method engine_forkchoiceUpdatedV3 does not exist/is not available"
WARN[05-11|08:27:52.714] [rpc] served                             conn=127.0.0.1:45846 method=engine_forkchoiceUpdatedV3 reqid=545 t=30.197µs err="the method engine_forkchoiceUpdatedV3 does not exist/is not available"
WARN[05-11|08:28:02.826] [rpc] served                             conn=127.0.0.1:45846 method=engine_forkchoiceUpdatedV3 reqid=546 t=27.571µs err="the method engine_forkchoiceUpdatedV3 does not exist/is not available"
WARN[05-11|08:28:13.072] [rpc] served                             conn=127.0.0.1:45846 method=engine_forkchoiceUpdatedV3 reqid=547 t=26.6µs err="the method engine_forkchoiceUpdatedV3 does not exist/is not available"
WARN[05-11|08:28:23.231] [rpc] served                             conn=127.0.0.1:45846 method=engine_forkchoiceUpdatedV3 reqid=548 t=36.258µs err="the method engine_forkchoiceUpdatedV3 does not exist/is not available"
WARN[05-11|08:28:33.465] [rpc] served                             conn=127.0.0.1:45846 method=engine_forkchoiceUpdatedV3 reqid=549 t=27.712µs err="the method engine_forkchoiceUpdatedV3 does not exist/is not available"

op-node logs:

WARN [05-11|08:28:33.465] Failed to share forkchoice-updated signal state="&{HeadBlockHash:0xf712aa9241cc24369b143cf6dce85f0902a9731e70d66818a3a58
45b296c73dd SafeBlockHash:0xf712aa9241cc24369b143cf6dce85f0902a9731e70d66818a3a5845b296c73dd FinalizedBlockHash:0xf712aa9241cc24369b143cf6dce85f09
02a9731e70d66818a3a5845b296c73dd}" err="the method engine_forkchoiceUpdatedV3 does not exist/is not available"
WARN [05-11|08:28:33.465] Derivation process temporary error       attempts=544 err="engine stage failed: temp: failed to sync forkchoice with eng
ine: unrecognized rpc error: the method engine_forkchoiceUpdatedV3 does not exist/is not available"
INFO [05-11|08:28:34.216] Received signed execution payload from p2p id=77b86f..cf0cc4:14298983 peer=16Uiu2HAmSmiaMRByNDTzkY3dSzWGuKXME7wYdQu9afeu
Soeg2xG8

Where did I go wrong?

ImTei commented 6 months ago

@temuera Can you provide the launch command of op-erigon? and is there any error & warning logs when you launch the op-erigon?

temuera commented 6 months ago

@temuera Can you provide the launch command of op-erigon? and is there any error & warning logs when you launch the op-erigon?你能提供op-erigon的启动命令吗?当您启动 Op-Erigon时,是否有任何错误和警告日志?

./erigon \
    --chain=base-mainnet \
    --datadir=/tank/base_erigon/data \
    --private.api.addr=127.0.0.1:32002 \
    --http \
    --authrpc.addr=127.0.0.1 \
    --authrpc.port=32004 \
    --authrpc.jwtsecret="/tank/jwt.hex" \
    --txpool.disable \
    --downloader.verify \
    --txpool.gossip.disable \
    --nodiscover \
    --rollup.sequencerhttp="https://mainnet-sequencer.optimism.io" \
    --rollup.historicalrpc="https://mainnet.optimism.io"

no starting errors.

ImTei commented 6 months ago

@temuera please give me the op-node command as well.

temuera commented 6 months ago

@temuera please give me the op-node command as well.也请给我op-node命令。

L1: erigon ETH Archive, RPC Port 12001, Beacon Port: 12006

L1 Full Synced.

L2: op-erigon BASE Archive, RPC Port 32001 L2 Without snapshot, Start from 0.

op-node

./op-node \
    --l1="http://127.0.0.1:12001" \
    --l1.beacon="http://127.0.0.1:12006" \
    --l2="http://127.0.0.1:32001" \
    --l2.jwt-secret="/tank/jwt.hex" \
    --network=base-mainnet \
    --rpc.addr=0.0.0.0 \
    --rpc.port=32007
L1(RPC:12001,Beacon:12006)->OPNODE->L2(RPC:32001)
ImTei commented 6 months ago

@temuera There's no 32001 rpc port flag in the op-erigon command. Did you set the RPC port?

temuera commented 6 months ago

@temuera There's no 32001 rpc port flag in the op-erigon command. Did you set the RPC port?op-erigon 命令中没有 32001 rpc 端口标志。您是否设置了 RPC 端口?

Yes, I have correctly set the RPC L1 port to 32001.

In fact, the questions is:

1,Can op-erigon start syncing from scratch without using a snapshot? 2,Does it support the Caplin Beacon built into ETH Erigon?

ImTei commented 6 months ago

@temuera op-node needs L2 execution engine's engine API endpoint. In your case, it's http://localhost:32004 because you set the authrpc.port flag as 32004.

  1. Yes for the base-mainnet.
  2. op-node needs L1 beacon API endpoint to get blob data. so your beacon node must have historical blobs
temuera commented 6 months ago

It's working! Thank you very much for your guidance.