Ethereum Beacon Chain Light Client SDK in Rust
The sync-committee-rs is the implementation of the Ethereum beacon light client prover & verifier in Rust. This is based on the research done here: https://research.polytope.technology/ethereum-light-client
This library consists of
- ✅ The primitives.
- ✅ The prover.
- ✅ The verifier
Consists of the types and structs as defined and described in the spec mentioned earlier. It also consists of the utility functions to be used in the verifier and prover.
Consists of the various proof generations for the ethereum beacon chain structs/types such as:
- Execution payload
- Finalized header
- Block roots
- Sync committee update
This exports a single function for verifying ethereum's sync committee attestation.
The major dependencies for this SDK/Library are:
NOTE
- To run these tests make sure the latest fork version on your devnet is the BELLATRIX_FORK_VERSION as defined in the mainnet config
- Modify
sync_committee_primitives::types::GENESIS_ROOT_VALIDATORS
defined under the testing
feature flag to match the one that is present in the devnet you are running the tests with - Make sure the SLOTS_PER_EPOCH is set to 32 in your devnet.
This library is licensed under the Apache 2.0 License, Copyright (c) 2023 Polytope Labs.