sync-committee-rs
sync-committee-rs copied to clipboard
A portable library for proving & verifying ethereum's sync committee consensus proofs.
sync-committee-rs ⚙️
Ethereum Beacon Chain Light Client SDK in Rust
⚠️ Beta Software ⚠️
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
Deprecation
This repo has been moved to the hyperbridge repo
primitives
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.
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
verifier
This exports a single function for verifying ethereum's sync committee attestation.
Major Depedencies
The major dependencies for this SDK/Library are:
Running the prover tests
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_VALIDATORSdefined 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.
License
This library is licensed under the Apache 2.0 License, Copyright (c) 2023 Polytope Labs.