polytope-labs / sync-committee-rs

A portable library for proving & verifying ethereum's sync committee consensus proofs.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

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

  1. To run these tests make sure the latest fork version on your devnet is the BELLATRIX_FORK_VERSION as defined in the mainnet config
  2. 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
  3. 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.

About

A portable library for proving & verifying ethereum's sync committee consensus proofs.

License:Apache License 2.0


Languages

Language:Rust 99.8%Language:Shell 0.2%