Description
After the merge, Lighthouse will need an EE available via HTTP to verify blocks (payloads, specifically). If it can't call out to the EE, block verification fails. With our present implementation, chains that fail due to offline EEs will not be retried after some number of tries. This may prevent us from following the chain again after a temporarily offline EE.
After chatting with @AgeManning, it seems we can achieve this by:
- Sync choosing to pause itself when it gets EE-related errors.
- Adding a new method to the
execution_layer which returns a bool indicating if there are any sync/ready EEs available.
- Sync polling that bool and resuming sync after there's EEs online again.
Description
After the merge, Lighthouse will need an EE available via HTTP to verify blocks (payloads, specifically). If it can't call out to the EE, block verification fails. With our present implementation, chains that fail due to offline EEs will not be retried after some number of tries. This may prevent us from following the chain again after a temporarily offline EE.
After chatting with @AgeManning, it seems we can achieve this by:
execution_layerwhich returns a bool indicating if there are any sync/ready EEs available.