Open jclapis opened 3 years ago
(Discord user pala here)
It might be worth mentioning that I'm trying to use eth2 beacon service from infura by modifying config.yml
like this
eth2:
provider: https://XXX:XXX@eth2-beacon-pyrmont.infura.io
I ran into some troubles because chains/eth2/start-validator.sh
script uses a hardcoded http://
in front of the ETH2_PROVIDER
env variable, so I had to modify that. On top of the errors already specified, when I try to get the status in the end
rocketpool minipool status
Could not get minipool status: Could not get node sync status: Get "http://https//XXX:XXX@eth2-beacon-pyrmont.infura.io/eth/v1/node/syncing": dial tcp: lookup https: Temporary failure in name resolution
Removing the https://
part in config.yml
and restarting the service yields:
Could not get minipool status: Could not get node sync status: HTTP status 401; response body: 'project id required
I'm guessing there's a problem with how that eth2.provider
configuration is being used in the code. I'm not sure if it's related to the problems already mentioned by @jclapis or not, but thought it might help.
I'm not sure if it's related to the problems already mentioned by @jclapis or not, but thought it might help.
There isn't any interaction with the beacon chain when registering a node or making a deposit, so this will be a separate, unrelated issue. I've created one here: https://github.com/rocket-pool/smartnode/issues/115
The error Transaction failed with status 0
is thrown in the following scenario:
1) The smart node broadcasts a transaction
2) The smart node waits for the transaction to be mined (polls the eth1 client for a tx receipt)
3) The eth1 client returns a receipt for the tx with a status
of 0 (meaning the tx failed)
I can't see any code paths in the smartnode which would cause this error to be thrown incorrectly; it appears as though the eth1 client in this case is sending back an incorrect tx receipt. There may not be anything actionable here, but will wait for more info from @easttemp on Discord.
So probably it is related with #115 as I specified the eth1 node in the same manner: chose custom at configuration and then setting eth1.provider (as per docs) to infura's provider.
So probably it is related with #115 as I specified the eth1 node in the same manner: chose custom at configuration and then setting eth1.provider (as per docs) to infura's provider.
Yeah, that sounds likely. I would try switching to a different eth1 client (i.e. Geth) and see if the problem persists. If not, then it's likely a bug with Infura (possibly with a specific node? as I have not seen this mentioned by anyone else). Will leave this issue open until you've had time to check it out.
I don't know if infura is to blame beacause:
$ rocketpool minipool status
Could not get minipool status: Could not get node sync status: Get "http://https//XXX:XXX@eth2-beacon-pyrmont.infura.io/eth/v1/node/syncing": dial tcp: lookup https: Temporary failure in name resolution
To me it looks like the smartnode is not handling a custom eth2/eth1 provider correctly.
You need to use the websocket endpoint with nimbus
. See https://nimbus.guide/infura-guide.html#7-copy-the-websocket-endpoint
:warning: Warning: make sure you've copied the endpoint that starts with
wss
(websocket), and not thehttps
endpoint. If you're connecting to mainnet this will readwss://mainnet.infura.io/ws/...
I don't know which Eth 2.0 client you are using, but this might be useful.
From Discord user pala (https://discord.com/channels/405159462932971535/704214707904446535/824322274143240248):
Registering results in
Could not register node: Could not register node: Transaction failed with status 0
But seems to work:
Trying a deposit after that results in the same issue:
Version info: