lighthouse
lighthouse copied to clipboard
Attestations triggered by head events
Issue Addressed
Resolves: #2503
Proposed Changes
- Track which fallback node we are likely to use in our next attestation production
- Create head event subscriptions to all nodes provided by
--beacon-nodes, if any of these subscriptions end, try to re-establish them at the beginning of the next slot - Before 1/3 through the slot:
- If we get a head event from the node we are like to produce our next attestation with, begin the attestation production process
- Compare the head root we received in the head event to the head root in the
AttestationDataresponse from the beacon node. If they are different, wait until 1/3 of the way through the slot and retry
- At 1/3 through the slot:
- Existing flow
Additional Info
TODO:
- [x] Add the same logic for sync committees
- [ ] Tests
- [x] Add flag to enable/disable (not sure we want this forever, but think it'll be useful for testing)