Skip to content

Explore Groth16 proof translation for Starknet verifier calldata integration #646

@rukafe0x

Description

@rukafe0x

Problem

When generating Groth16 proofs, there is currently no built-in support to translate those proofs into Starknet-compatible verifier calldata. This makes it difficult for developers to verify Groth16 proofs on Starknet without relying on external scripts or backend services, as described in the Garaga documentation (https://garaga.gitbook.io/garaga/smart-contract-generators/groth16/generating-calldata-from-a-proof-and-using-your-deployed-contract).

This adds friction for projects aiming to perform proof generation locally and verification on-chain on Starknet.

Details

The goal is to explore an integration that supports translating Groth16 proofs into the calldata format required by Starknet verifier contracts, following the approach described in the Garaga documentation (garaga_rs implementation get_groth16_calldata):

https://github.com/keep-starknet-strange/garaga/blob/main/tools/garaga_rs/src/calldata/full_proof_with_hints/groth16.rs

Ideally, this functionality could be exposed as a utility, enabling developers to generate proofs and corresponding verifier calldata without requiring a backend.

Acceptance criteria

A pull request addressing this issue should:

  • Provide a mechanism to translate Groth16 proofs into Starknet-compatible verifier calldata
  • Follow the calldata format and constraints defined by Garaga
  • Include documentation or examples demonstrating how to use the integration

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions