Hello :)
I changed our deposit signatures so they match what Prysm is using. I was able to start from genesis, however our genesis state has 91 validators and the one I received from @prestonvanloon has 64 validators. I believe that 91 is correct and 64 is not.
Looking at the Genesis section, the spec declares that the genesis state is the first eth1 block where is_valid_genesis_state(candidate_state) is True.
The deposits included in the genesis state should be "all valid deposits up to the eth1 block", not "just the first MIN_GENESIS_VALIDATOR_COUNT validators".
Looking at the Prysm testnet deposits, these two deposits are interesting:
0x40 (64 dec)0x5a (90 dec)I think these two transactions are sufficient to prove that the number of validators should be >= 91.
I have raised a clarification on the spec here: https://github.com/ethereum/eth2.0-specs/pull/1460/files. What I'm saying here is still valid, regardless of the outcome of this PR.
Hey thanks for bringing this up, yeah it seems like we might not be setting the genesis state correctly after re-reading the spec. I will work on this today and get this fixed
@paulhauner #3911 should fix this. Running the PR locally , I also get 91 deposits so I think we should be compatible now
Great. I'd love to get a copy of your genesis state, if it's not much trouble?
I'll compare it to mine, which has the root 0x2a98…0088.
Alright attached is the state , with root
0xc933be3f4ef861ac5d122de2eb944a94da5025aedaa9bf08e2b878baf3433896 .
I am guessing the difference is the genesis time. We use a modified version of the genesis time:
Ours:
genesis_time= eth1_timestamp + 30_seconds
Spec:
genesis_time=eth1_timestamp - eth1_timestamp % SECONDS_PER_DAY + 2 * SECONDS_PER_DAY,
The primary reason is being able to start up a testnet quickly, otherwise we would have to wait 2 days before the chain starts.
State: