Alex Vlasov
Alex Vlasov
There is also one more tricky case. The fork choice allows a situation, when a block's root is in `store.blocks`, but it's not in `store.block_states`, e.g. if a block has...
> Otherwise, if I have to contribute to the spec-format discussion, my opinion is that nothing prevents a correct spec to be described in prose, in an accessible language (e.g....
Is MyPy speed a (real) problem? ty is not stable: > Warning > > ty is in preview and is not ready for production use. > > We're working hard...
> The dependent type problem does seem important. I've opened #4384 issue. Initially, I was thinking about code preprocessing + MyPy plugin. However, I think we can have a more...
Hey @moodmosaic, > Perhaps @ericsson49 can add those. our fork choice test generation strategy is described in [this post](https://hackmd.io/@ericsson49/fork-choice-implementation-vs-spec-testing) in more details. There is also [our talk](https://www.youtube.com/watch?v=N5WzD8ptGJA) at DevCon. Regarding...
Regarding state-level transitions, @mkalinin has been working on Validator lifecycle test generation, using [MiniZinc](https://www.minizinc.org/)/Python
> AFAICT, current fork-choice testing focuses specifically on block/attestation tree correctness. State-machine testing would broaden coverage to include complex validator-state interactions. (It should not replace existing fork-choice tests.) Our fork...
> there is a [beacon fuzz](https://github.com/sigp/beacon-fuzz) project, which focuses on differential fuzzing of the [state_transition](https://github.com/ethereum/consensus-specs/blob/dev/specs/phase0/beacon-chain.md#beacon-chain-state-transition-function) As we have discussed with @mkalinin today, it makes sense to test state_transition using the...
> What invariants can I break by generating and executing diverse sequences of state transitions? This is the key question that must be answered. Writing explicit invariants for pyspecs would...
> (Only then move from the probabilistic approach to something more formal or guided.) We are going to generate test vectors to test compliance of implementations wrt other Ethereum specs,...