I cant set up Erigon with prysm on ropsten
System information
Erigon version: v2022.07.02
OS & Version: Linux
Expected behaviour
To get synced Erigon on Ropsnet testnet with prysm client.
Actual behaviour
The consensus client can't connect to the erigon client, and the logs in both show errors.
Steps to reproduce the behaviour
I am from dappnode project, in a simple way we are using docker-compose with 2 services. You can obtain the docker files from https://github.com/tropicar/DAppNodePackage-Erigon-Ropsten
Backtrace
Sumary of the configuration
The entrypoint of the erigon client:
exec erigon --datadir=$DATADIR \
--chain=ropsten \
--engine.port=8551 \
--engine.addr=0.0.0.0 \
--http.addr=0.0.0.0 \
--http.vhosts=* \
--http.corsdomain=* \
--ws \
--private.api.addr=0.0.0.0:9090 \
--metrics \
--metrics.addr=0.0.0.0 \
--metrics.port=6060 \
--pprof \
--pprof.addr=0.0.0.0 \
--pprof.port=6061 \
--authrpc.jwtsecret=/jwtsecret \
--http.api=eth,erigon,web3,net,debug,trace,txpool
The logs that erigon shows are this:
[EROR] [07-22|11:23:26.895] [NewPayload] not a proof-of-stake chain
[WARN] [07-22|11:23:26.895] NewPayload err="not a proof-of-stake chain"
[WARN] [07-22|11:23:26.895] Served conn=172.33.0.33:38440 method=engine_newPayloadV1 reqid=29 t=181.711µs err="not a proof-of-stake chain"
[WARN] [07-22|11:23:26.978] Served conn=172.33.1.7:35066 method=net_version reqid=659167 t=16.42µs err="the method net_version does not exist/is not available"
[EROR] [07-22|11:23:27.632] [NewPayload] not a proof-of-stake chain
[WARN] [07-22|11:23:27.632] NewPayload err="not a proof-of-stake chain"
[WARN] [07-22|11:23:27.632] Served conn=172.33.0.33:38440 method=engine_newPayloadV1 reqid=30 t=152.561µs err="not a proof-of-stake chain"
[EROR] [07-22|11:23:28.270] [NewPayload] not a proof-of-stake chain
[WARN] [07-22|11:23:28.270] NewPayload err="not a proof-of-stake chain"
[WARN] [07-22|11:23:28.270] Served conn=172.33.0.33:38440 method=engine_newPayloadV1 reqid=31 t=516.903µs err="not a proof-of-stake chain"
All the logs here erigon_logs.txt
The logs on prysm side are not clear for me, i will add it maybe are useful:
time="2022-07-22 11:29:03" level=warning msg="Block is not processed" error="could not process block: could not verify new payload: <nil>: client error while processing request: received an undefined ee error" prefix=initial-sync
time="2022-07-22 11:29:04" level=warning msg="Block is not processed" error="could not process block: could not verify new payload: <nil>: client error while processing request: received an undefined ee error" prefix=initial-sync
time="2022-07-22 11:29:05" level=warning msg="Block is not processed" error="could not process block: could not verify new payload: <nil>: client error while processing request: received an undefined ee error" prefix=initial-sync
time="2022-07-22 11:29:06" level=warning msg="Block is not processed" error="could not process block: could not verify new payload: <nil>: client error while processing request: received an undefined ee error" prefix=initial-sync
time="2022-07-22 11:29:06" level=info msg="Processing block 0x34d0bd16... 380480/380545 - estimated time remaining 41s" blocksPerSecond=1.6 peers=45 prefix=initial-sync
time="2022-07-22 11:29:06" level=info msg="Processing block 0x6437dfb4... 380512/380545 - estimated time remaining 12s" blocksPerSecond=2.6 peers=45 prefix=initial-sync
[backtrace]
Hey! Do not listen endpoints to all interfaces what you have! I use the following parameters, may help you:
--datadir=/mnt/nodes/teth --chain=ropsten --private.api.addr=127.0.0.1:9091 --http.api=engine,eth,erigon,web3,trace,net,debug --http.vhosts=*
For prysm:
--datadir=/mnt/nodes/teth/beaconChain --accept-terms-of-use --ropsten --http-web3provider=http://localhost:8551 --jwt-secret=/mnt/nodes/teth/jwt.hex --genesis-state=/mnt/nodes/teth/beaconChain/genesis.ssz
You can download genesis.ssz from here: https://github.com/eth-clients/merge-testnets/blob/main/ropsten-beacon-chain/genesis.ssz
I added the engine option on --http.api and now, what appears on erigon logs(verbosity=4) are this messages:
[WARN] [07-23|03:07:46.884] Served conn=172.33.1.7:53500 method=net_version reqid=735445 t=13.97µs err="the method net_version does not exist/is not available"
[WARN] [07-23|03:07:52.898] Served conn=172.33.1.7:53948 method=net_version reqid=735462 t=18.85µs err="the method net_version does not exist/is not available"
[WARN] [07-23|03:08:01.892] Served conn=172.33.1.7:54780 method=net_version reqid=735479 t=14.05µs err="the method net_version does not exist/is not available"
[WARN] [07-23|03:08:07.918] Served conn=172.33.1.7:55258 method=net_version reqid=735496 t=30.91µs err="the method net_version does not exist/is not available"
[INFO] [07-23|03:08:13.169] [p2p] GoodPeers eth66=0
[WARN] [07-23|03:08:16.889] Served conn=172.33.1.7:55926 method=net_version reqid=735513 t=7.21µs err="the method net_version does not exist/is not available"
[INFO] [07-23|03:08:18.078] [txpool] stat block=0 pending=0 baseFee=0 queued=0 alloc=4.3GB sys=6.0GB
[WARN] [07-23|03:08:22.895] Served conn=172.33.1.7:56590 method=net_version reqid=735530 t=14.43µs err="the method net_version does not exist/is not available"
I have the net option in the --http.api, do i have to set up something more? logs_erigon.txt
-
- special symbol in shell. Likely you miss-used it and it destroyed cli params parsing
After that changes, the erigon client does not show any strange logs for me, but the consensus client(lighthouse) gets some error message, I think the problem is on erigon client because I could be attesting with Nethermind + this lighthouse client with the same set up. In lighthouse I am getting these messages:
Jul 23 18:02:30.001 WARN Head is optimistic execution_block_hash: ExecutionBlockHash(0xfbc1d1b40773afe355ddd08790fec9167e8b811baf5bd1eb3f4ba15c740b4f63), info: chain not fully verified, block and attestation production disabled until execution engine syncs, service: slot_notifier
Jul 23 18:02:30.001 INFO Synced slot: 389712, block: 0x510e…c41f, epoch: 12178, finalized_epoch: 12176, finalized_root: 0xeda2…7924, exec_hash: 0xfbc1…4f63 (unverified), peers: 34, service: slot_notifier
Jul 23 18:02:30.001 WARN Syncing eth1 block cache est_blocks_remaining: 3340, service: slot_notifier
Jul 23 18:02:36.363 INFO New block received root: 0xd7413cf4ec01e2cc16e3a8a0b5ba2f62a55b85e39947fd3dba1012c1d3191f73, slot: 389713
Jul 23 18:02:42.001 WARN Head is optimistic execution_block_hash: ExecutionBlockHash(0x26faeffcc54992dd47ffbc8b00a4323d507da26337e9e8b072c99b24eeb5bab3), info: chain not fully verified, block and attestation production disabled until execution engine syncs, service: slot_notifier
Jul 23 18:02:42.001 INFO Synced slot: 389713, block: 0xd741…1f73, epoch: 12178, finalized_epoch: 12176, finalized_root: 0xeda2…7924, exec_hash: 0x26fa…bab3 (unverified), peers: 33, service: slot_notifier
Jul 23 18:02:42.001 WARN Syncing eth1 block cache est_blocks_remaining: 3340, service: slot_notifier
Jul 23 18:02:43.298 ERRO Error fetching block for peer error: BlockHashMissingFromExecutionLayer(ExecutionBlockHash(0x5b5b686100c84c745ca96905cfeeedfc0de86b38fab782adbc45fae1da956999)), block_root: 0x3531909aa2607c8a3295d23e7d1b99d746d24b2c41de232ac024f605fb3e8b57
on Erigon client I have logs:
[DBUG] [07-23|18:06:12.547] [ForkChoiceUpdated] stage loop is busy
[DBUG] [07-23|18:06:36.396] [NewPayload] stage loop is busy
[DBUG] [07-23|18:06:36.516] [ForkChoiceUpdated] stage loop is busy
[INFO] [07-23|18:06:40.157] [p2p] GoodPeers eth66=0
[INFO] [07-23|18:06:40.193] [txpool] stat block=0 pending=0 baseFee=0 queued=0 alloc=2.7GB sys=8.9GB
[DBUG] [07-23|18:06:48.321] [NewPayload] stage loop is busy
[DBUG] [07-23|18:06:48.452] [ForkChoiceUpdated] stage loop is busy
[DBUG] [07-23|18:07:00.334] [NewPayload] stage loop is busy
[DBUG] [07-23|18:07:00.454] [ForkChoiceUpdated] stage loop is busy
[DBUG] [07-23|18:07:12.331] [NewPayload] stage loop is busy
[DBUG] [07-23|18:07:12.453] [ForkChoiceUpdated] stage loop is busy
[DBUG] [07-23|18:07:24.444] [NewPayload] stage loop is busy
[DBUG] [07-23|18:07:24.567] [ForkChoiceUpdated] stage loop is busy
[DBUG] [07-23|18:07:36.351] [NewPayload] stage loop is busy
[DBUG] [07-23|18:07:36.471] [ForkChoiceUpdated] stage loop is busy
[INFO] [07-23|18:07:40.198] [txpool] stat block=0 pending=0 baseFee=0 queued=0 alloc=3.7GB sys=8.9GB
[DBUG] [07-23|18:07:49.740] [NewPayload] stage loop is busy
[DBUG] [07-23|18:07:49.864] [ForkChoiceUpdated] stage loop is busy
Thanks in advance
@yperbasis @Giulio2002 worth looking into this one, too many "stage loop is busy", looks suspicious.
@tropicar can you try the latest release (07.03)?
It is not suspicious, the client is in the stagesync and you get those because you have Debug log enabled. the CL is also doing what it is expected to: perform optimistic sync.
also those errors are just erigon not being synced up on the CL side.
This issue is stale because it has been open for 40 days with no activity. Remove stale label or comment, or this will be closed in 7 days.
This issue was closed because it has been stalled for 7 days with no activity.