prysmaticlabs / prysm

Go implementation of Ethereum proof of stake
https://www.offchainlabs.com
GNU General Public License v3.0
3.47k stars 1k forks source link

Feature Request: Allow queued voluntary exits #14448

Open hentai8 opened 1 month ago

hentai8 commented 1 month ago

Describe the bug

./validator accounts voluntary-exit --holesky --beacon-rpc-provider=xxxx --validators-external-signer-url=xxx --validators-external-signer-public-keys=0xxxx --public-keys=0xxxx --accept-terms-of-use --force-exit

I'm having the expected current epoch >= exit epoch problem when I run this command, this is an occasional occurrence and the probability of it happening is not high, I use this command a lot due to my development needs, I've encountered this problem maybe 2 times in the past year of development and when it occurs, it stays with this error for 1 Even if I re-execute the command, it still has the error, and the problem does not return to normal until the next epoch.

For this reason I read the relevant part of the code and found the error in this location, I think it is signed the wrong epoch, the exact cause of the error I don't know yet, but I would like to report this, I would be very grateful if you could locate this problem and fix it, because I use this code a lot. image

Has this worked before in a previous version?

I've had this bug since v4.x. I'm currently running v5.0.3 and still have this bug.

🔬 Minimal Reproduction

The exact cause of the bug I don't know yet, but I would like to report this, I would be very grateful if you could locate this problem and fix it, because I use this code a lot.

Error

INFO accounts: This command will be deprecated in the future in favor of `prysmctl validator exit`
WARN client: You are using an insecure gRPC connection. If you are running your beacon node and validator on the same machines, you can ignore this message. If you want to know how to enable secure connections, see: https://docs.prylabs.network/docs/prysm-usage/secure-grpc
ERROR accounts: voluntary exit failed for account 0x8741076e154e error=failed to propose voluntary exit: rpc error: code = InvalidArgument desc = expected current epoch >= exit epoch, received 78486 < 78487
INFO accounts: No successful voluntary exits

Platform(s)

Linux (x86)

What version of Prysm are you running? (Which release)

v5.0.3

Anything else relevant (validator index / public key)?

No response

james-prysm commented 1 month ago

hmm are you sure you are not just requesting it on an account too early? you are exiting before the node thinks it's on the exit epoch

hentai8 commented 1 month ago

I just executed the command I mentioned above, and the logic should have been implemented internally by prysm, so I think it's an internal bug

hmm are you sure you are not just requesting it on an account too early? you are exiting before the node thinks it's on the exit epoch

james-prysm commented 1 month ago

We don't have queueing your request as a feature in prysm, you're probably just executing the command too early, you need to wait till the beacon chain is at or after the epoch to run the exit

prestonvanloon commented 1 month ago

Updated the title to reflect that a possible resolution to this issue would be to add some kind of pool to the beacon node to hold local voluntary exits and only publish them when they become valid.

hentai8 commented 1 month ago

Updated the title to reflect that a possible resolution to this issue would be to add some kind of pool to the beacon node to hold local voluntary exits and only publish them when they become valid.

Thank you very much for your attention to my question.