Thanks @kirk-baird, and is a validator client also considered a node from a network point of view?
Not from the network point of view -- we have been very deliberate in not connecting the validator client to the p2p network
A beacon_node with a validator client attached could be considered a "validating node"
Awesome, thanks. So the VC connects explicitly to a BN that it knows of, or discovers?
Yep, you need to ensure that the Validator Client connects to a Beacon Node it trusts so you'd generally run them both together. You'd have one Beacon Node to communicate with all the other Beacon Nodes and a personal Validator Client which will connect to you Beacon Node.
So going through steps:
a network has beacon nodes running (BN1, BN2)
a validator client, with predefined validator (V1), is run to connect with BN1
BN1 updates it's local Beacon Chain state to include V1
BN2 Beach Chain state now contains V1
Pretty much, I might just reword it slightly
Starting with a network of BN1 and BN2
VC1 connects to BN1
VC1 produces a block BlockA
VC1 sends BlockA to BN1
BN1 via networking shares BlockA with all other BNs (i.e. BN2)
BN2 now has BlockA and processes it
Probably should point out, a validator cannot just come along and produce blocks. They need to deposit eth on the eth1 chain and then wait for the global chain to accept and activate them as a validator before they can start participating in the network (all beacon nodes) will know they are validator before they can start doing anything
@michaelsproul thanks for linking the spec issue 1269 with #407, might be a good first issue for me though. Will keep an eye on it for next week :thumbsup:
I'm kind of hopeful that we get to keep the next epoch cache! But yeah, keep an eye on it and there will likely be something you can work on out of that :)