Consensys / teku

Open-source Ethereum consensus client written in Java
https://consensys.io/teku
Apache License 2.0
682 stars 290 forks source link

w3s reload of validator pubkeys #8742

Open franjoespejo opened 1 month ago

franjoespejo commented 1 month ago

Teku implements the w3signer standard https://docs.teku.consensys.io/how-to/use-external-signer/use-web3signer, but it is unknown when the validator client requests the pubkeys to the w3s. For some w3s implementations, as diva (https://docs.divastaking.net/) the pubkeys array in the response is changing, therefore it would need the validator client to periodically check the pubkeys the w3s is signing for in order to keep it up to date.

rolfyone commented 1 month ago

Thanks for raising - some notes.

Teku will reload when it receives a HUP signal, this is the preferred method.

I'm not sure I'd ideally want the VC polling constantly to find new keys, it sounds like a mixed concern, and is only really in the case where you're trying to generically load all keys from a URL, which is only really 1 use case.

We could potentially add a flag to allow the VC to specify a reload interval, but IMO it certainly shouldn't be default behaviour.

franjoespejo commented 1 month ago

Thanks for checking in detail. Although that won't be the default option, it would be great to have it. It would let us to work with Teku vc seamlessly since it would enable vc to consume the w3s service all the time non-stop