erigon icon indicating copy to clipboard operation
erigon copied to clipboard

I cant set up Erigon with prysm on ropsten

Open tropicar opened this issue 3 years ago • 8 comments

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]

tropicar avatar Jul 22 '22 11:07 tropicar

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

iFA88 avatar Jul 22 '22 16:07 iFA88

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

tropicar avatar Jul 23 '22 03:07 tropicar

    • special symbol in shell. Likely you miss-used it and it destroyed cli params parsing

AskAlexSharov avatar Jul 23 '22 05:07 AskAlexSharov

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

tropicar avatar Jul 23 '22 18:07 tropicar

@yperbasis @Giulio2002 worth looking into this one, too many "stage loop is busy", looks suspicious.

mandrigin avatar Jul 26 '22 11:07 mandrigin

@tropicar can you try the latest release (07.03)?

mandrigin avatar Jul 26 '22 11:07 mandrigin

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.

Giulio2002 avatar Jul 26 '22 12:07 Giulio2002

also those errors are just erigon not being synced up on the CL side.

Giulio2002 avatar Jul 26 '22 12:07 Giulio2002

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.

github-actions[bot] avatar Dec 19 '22 02:12 github-actions[bot]

This issue was closed because it has been stalled for 7 days with no activity.

github-actions[bot] avatar Dec 26 '22 02:12 github-actions[bot]