smartnode icon indicating copy to clipboard operation
smartnode copied to clipboard

`node register` fails with http get errors (connection refused)

Open j4cko opened this issue 2 years ago • 3 comments

It seems I cannot register my node due to some http GETs failing:

rp --debug node register

To API:
/usr/local/bin/rocketpoold --settings /srv/rocketpool/user-settings.yml   --maxFee 0.000000 --maxPrioFee 0.000000 --gasLimit 0   api service get-client-status
API Out:
{"status":"success","error":"","ecManagerStatus":{"primaryEcStatus":{"isWorking":true,"isSynced":true,"syncProgress":1,"networkId":1,"error":""},"fallbackEnabled":false,"fallbackEcStatus":{"isWorking":false,"isSynced":false,"syncProgress":0,"networkId":0,"error":""}},"bcManagerStatus":{"primaryEcStatus":{"isWorking":true,"isSynced":true,"syncProgress":1,"networkId":0,"error":""},"fallbackEnabled":false,"fallbackEcStatus":{"isWorking":false,"isSynced":false,"syncProgress":0,"networkId":0,"error":""}}}

Would you like to detect your timezone automatically? [y/n]
y

WARNING: couldn't query https://ipinfo.io/json/ for your timezone based on your IP address (Get "https://ipinfo.io/json/": dial tcp: lookup ipinfo.io on [::1]:53: read udp [::1]:52116->[::1]:53: read: connection refused).
Checking your system's timezone...
The detected timezone is 'Europe/Berlin', would you like to register using this timezone? [y/n]
y

To API:
/usr/local/bin/rocketpoold --settings /srv/rocketpool/user-settings.yml --ignore-sync-check  --maxFee 0.000000 --maxPrioFee 0.000000 --gasLimit 0   api node can-register Europe/Berlin
API Out:
{"status":"success","error":"","canRegister":true,"alreadyRegistered":false,"registrationDisabled":false,"gasInfo":{"estGasLimit":338994,"safeGasLimit":508491}}

Warning: couldn't get gas estimates from Etherchain - Get "https://beaconcha.in/api/v1/execution/gasnow": dial tcp: lookup beaconcha.in on [::1]:53: read udp [::1]:39453->[::1]:53: read: connection refused
Falling back to Etherscan
Error getting gas price suggestions: Get "https://api.etherscan.io/api?module=gastracker&action=gasoracle": dial tcp: lookup api.etherscan.io on [::1]:53: read udp [::1]:55262->[::1]:53: read: connection refused

Note that this already happens when guessing the timezone. I can manually curl the URLs just fine (from the same machine & user). I am running the native client (no docker). Any help appreciated.

j4cko avatar Apr 17 '23 04:04 j4cko

One can explicitly set the gas, adding --maxFee to the call. This prevents the http.Get.

For example, using curl instead:

alias rp="rocketpool -d /usr/local/bin/rocketpoold -c /srv/rocketpool --maxFee $(curl https://beaconcha.in/api/v1/execution/gasnow | jq '.data.standard / 1e9')"

(this will get the gas price only once when sourcing / setting the alias)

j4cko avatar Apr 18 '23 08:04 j4cko

Identical issues for me. Errors with connection refused when trying to register. Fails for both beaconcha.in and the fallback etherscan.

crg-n avatar Apr 27 '23 01:04 crg-n

An alternative to the alias solution you suggest would be using the flag to set a fee as specified here:

https://docs.rocketpool.net/guides/node/cli-intro.html#setting-a-custom-max-fee-or-priority-fee-gas-price

So to register using 45 GWei you could use:

rocketpool -f 45 node register

Not sure what is causing the underlying issue with the http GETs.

crg-n avatar Apr 27 '23 01:04 crg-n