Grandine AMA
@ Interop Event 2024
Huge thanks for inviting us!
There would be no Grandine without
YOU
♥♥♥
History
Started in 2019 as a side project;
Already two other Rust clients back then - Lighthouse and Shasper;
Received commercial grant (obligation to generate revenue);
The first 0.1.0 binary release in 2021;
Opensource in 2024;
Team - 4 core + extra people;
Used in production.
Architecture
Original fork-choice implementation;
Performance focused (parallelization, micro-optimisations);
Low memory footprint (in-memory-only at the beginning);
Tree-states;
Thin database layer;
Coupled beacon node and validator client.
Community crates
Heavy usage of general purpose Rust community crates (~1000, Tokio, Axum etc.);
rust-libp2p based networking crates by Lighthouse team;
libmdbx-rs by Akula, later by Reth.
What drives development?
Initially - isolated benchmarks (state transition function was ~3x faster than the next fast implementation);
Later - qualitative comparision with the other implementations using Vouch;
Latest - user feedback.
Research
Mainly performance (speed, memory usage);
Optimal attestations packer;
50000 Holesky validators on one of developer's machine;
Rust-kzg (parallel CPU, GPU, multibackend):
AMA
Made with Slides.com