wealdtech/ethdo

Feature: validator exit for all validators on a mnemonic

Closed this issue · 3 comments

It can be useful, for example for leaving a "drag this file into beaconcha.in" USB stick for heirs, to be able to do ethdo validator exit --offline --mnemonic="abandon abandon abandon ... art" and receive a json with pre-signed exits for all active validators on that mnemonic, as determined by offline-preparation.json, instead of specifying them one by one with --validator=index.

I am not aware how I would do this presently.

mcdee commented

Historically, the reason behind having individual exits is that the output format is then directly compatible with the API endpoint. If we have multiple exits in the same file it will require users to either use ethdo to broadcast them, or to break the file into individual exits before sending them to the beacon node.

That said, it would be nice to allow validator exit commands to generate multiple exits at the same time. We could either generate a single file that is a JSON array, or multiple files that each contain individual exits. Not sure which of the options would be best; thoughts?

I think multiple files would be great.

I’m honestly just looking for the UX of users not needing to know their validators’ indices and ethdo discovering those. What we’re learning in Discord is that knowing validator indices as recorded on chain is surprisingly hard.

mcdee commented

I've been playing around with this, and think that actually it makes more sense from a UX perspective to have a single file. It loses the ability to send it directly to an endpoint, but if someone is using ethdo to create the exits I don't think they will have any issue with using it to broadcast the exits as well.