ethereum-optimism / op-geth

GNU Lesser General Public License v3.0
255 stars 654 forks source link

the method engine_newPayloadV3 does not exist/is not available #341

Closed vataops closed 6 days ago

vataops commented 6 days ago

Hi, I'm trying to set up a full node for Optimism. I've built the op-geth and optimism geth, and op-node binaries, and followed the guide.

The version of op-geth is 'geth version 1.101315.3-rc.1-5e9cb817-20240614' and the version of op-node is 'op-node version v1.7.7-f8143c8c-1717593043' However, I'm getting the following error in geth: the method engine_newPayloadV3 does not exist/is not available.

WARN [06-25|01:51:05.615] Served engine_newPayloadV3               conn=127.0.0.1:49860 reqid=28699 duration="5.751µs" err="the method engine_newPayloadV3 does not exist/is not available"
WARN [06-25|01:51:07.642] Served engine_newPayloadV3               conn=127.0.0.1:49860 reqid=28700 duration="5.821µs" err="the method engine_newPayloadV3 does not exist/is not available"
WARN [06-25|01:51:09.640] Served engine_newPayloadV3               conn=127.0.0.1:49860 reqid=28701 duration="7.083µs" err="the method engine_newPayloadV3 does not exist/is not available"
WARN [06-25|01:51:11.836] Served engine_newPayloadV3               conn=127.0.0.1:49860 reqid=28702 duration="5.059µs" err="the method engine_newPayloadV3 does not exist/is not available"
WARN [06-25|01:51:14.019] Served engine_newPayloadV3               conn=127.0.0.1:49860 reqid=28703 duration="5.941µs" err="the method engine_newPayloadV3 does not exist/is not available"
WARN [06-25|01:51:15.892] Served engine_newPayloadV3               conn=127.0.0.1:49860 reqid=28704 duration="6.102µs" err="the method engine_newPayloadV3 does not exist/is not available"
WARN [06-25|01:51:17.880] Served engine_newPayloadV3               conn=127.0.0.1:49860 reqid=28705 duration="6.012µs" err="the method engine_newPayloadV3 does not exist/is not available"
WARN [06-25|01:51:20.321] Served engine_newPayloadV3               conn=127.0.0.1:49860 reqid=28706 duration="5.611µs" err="the method engine_newPayloadV3 does not exist/is not available"

Below is the output from op-node.

t=2024-06-25T01:51:16+0000 lvl=info msg="connected to peer" peer=16Uiu2HAmUii5ahzrPpUw5PNU7Y4mythsLsDn6KSoAekTLGDS52Hb addr=/ip4/24.196.108.4/tcp/59728
t=2024-06-25T01:51:16+0000 lvl=info msg="Starting P2P sync client event loop" peer=16Uiu2HAmUii5ahzrPpUw5PNU7Y4mythsLsDn6KSoAekTLGDS52Hb
t=2024-06-25T01:51:16+0000 lvl=info msg="disconnected from peer" peer=16Uiu2HAmUii5ahzrPpUw5PNU7Y4mythsLsDn6KSoAekTLGDS52Hb addr=/ip4/24.196.108.4/tcp/59728
t=2024-06-25T01:51:17+0000 lvl=info msg="Received signed execution payload from p2p" id=0x70730c60e4d54996eaaa703f27319925708fee35bd9d81b4aa05a7d2233ea19c:121840750 peer=16Uiu2HAmKXLei8vs4HvQdYzb14CUHRUoTovTjju2YXxTMSypXr5E
t=2024-06-25T01:51:17+0000 lvl=info msg="Optimistically inserting unsafe L2 execution payload to drive EL sync" id=0x70730c60e4d54996eaaa703f27319925708fee35bd9d81b4aa05a7d2233ea19c:121840750
t=2024-06-25T01:51:17+0000 lvl=error msg="Payload execution failed" block_hash=0x70730c60e4d54996eaaa703f27319925708fee35bd9d81b4aa05a7d2233ea19c err="the method engine_newPayloadV3 does not exist/is not available"
t=2024-06-25T01:51:17+0000 lvl=warn msg="Failed to insert unsafe payload for EL sync" id=0x70730c60e4d54996eaaa703f27319925708fee35bd9d81b4aa05a7d2233ea19c:121840750 err="temp: failed to update insert payload: failed to execute payload: the method engine_newPayloadV3 does not exist/is not available"
t=2024-06-25T01:51:18+0000 lvl=info msg="connected to peer" peer=16Uiu2HAkxjpbVC8RVF3wfLYLyRo9gti4TZ8a3isQb7CsorofrtSp addr=/ip4/78.198.226.123/tcp/42806
t=2024-06-25T01:51:18+0000 lvl=info msg="Starting P2P sync client event loop" peer=16Uiu2HAkxjpbVC8RVF3wfLYLyRo9gti4TZ8a3isQb7CsorofrtSp
t=2024-06-25T01:51:19+0000 lvl=info msg="disconnected from peer" peer=16Uiu2HAkxjpbVC8RVF3wfLYLyRo9gti4TZ8a3isQb7CsorofrtSp addr=/ip4/78.198.226.123/tcp/42806
t=2024-06-25T01:51:19+0000 lvl=info msg="connected to peer" peer=16Uiu2HAkxAcqiW7ytRfS2C8n4qUa6c22RiwPL2biP4y7vhnTFb3T addr=/ip4/218.103.214.136/tcp/60962
t=2024-06-25T01:51:19+0000 lvl=info msg="Starting P2P sync client event loop" peer=16Uiu2HAkxAcqiW7ytRfS2C8n4qUa6c22RiwPL2biP4y7vhnTFb3T
t=2024-06-25T01:51:19+0000 lvl=info msg="disconnected from peer" peer=16Uiu2HAkxAcqiW7ytRfS2C8n4qUa6c22RiwPL2biP4y7vhnTFb3T addr=/ip4/218.103.214.136/tcp/60962

geth start script

nohup geth \
  --http \
  --http.port=8545 \
  --http.addr=0.0.0.0 \
  --authrpc.addr=0.0.0.0 \
  --authrpc.jwtsecret=/root/optimism-bin/jwt.txt \
  --verbosity=3 \
  --syncmode=full \
  --rollup.sequencerhttp="https://mainnet-sequencer.optimism.io" \
  --op-network=op-mainnet \
  --datadir=/mnt/op-geth >> /mnt/op-geth/geth.log &

op-node start script

nohup op-node \
  --l1={{ env }} \
  --l1.rpckind=standard \
  --l1.beacon={{ env }} \
  --l2=http://localhost:8545 \
  --l2.jwt-secret=/root/optimism-bin/jwt.txt \
  --network=op-mainnet \
  --syncmode=execution-layer >> /mnt/op-node/node.log &
protolambda commented 6 days ago

The op-node should be configured with the engine-API of op-geth, also known as "authrpc". Not the default open RPC endpoint. It works the same as how a L1 beacon node connects to the L1 execution engine. See optimism docs for reference. And don't forget to configure the JWT secret (all described in docs). https://docs.optimism.io/builders/node-operators/configuration/base-config

vataops commented 6 days ago

thank u!