garaga
  • Garaga documentation
  • Installation
    • Python package
    • Rust Crate
    • Npm package
  • Developer setup & guides
    • Working with auto-generated Cairo Code
    • garaga-rs crate
      • Rust -> Python bindings
      • Rust -> Wasm bidings
  • Using garaga libraries in your Cairo project
    • ECDSA & Schnorr Signatures
    • Hashing functions
  • Deploy your own SNARK verifier on Starknet
    • Groth16
      • Generate and deploy your verifier contract
      • Generating calldata from a proof and using your deployed contract
        • Using Python/Garaga CLI
        • Using Rust
        • Using Typescript
    • Noir
  • Maintained Smart Contracts
    • RiscZero
    • SP1
    • Drand
  • Support
  • Updating these docs
Powered by GitBook
On this page

Was this helpful?

Using garaga libraries in your Cairo project

You can import Garaga's Cairo library by adding this dependency to your Scarb.toml file for you project. \

Scarb.toml
[dependencies]
garaga = { git = "https://github.com/keep-starknet-strange/garaga.git" }

[cairo]
sierra-replace-ids = false # Do not forget this to avoid compilation errors. 
# See also https://github.com/keep-starknet-strange/garaga/issues/198 about using workspaces with garaga

Supported Elliptic Curves

Garaga support operations on different elliptic curves. Curves are consistently identified throughout all Garaga code (Cairo/Python/Rust/Javascript) with identifiers (often referred as CurveID enums or curve_idparameter) :

  • 0 : BN254

  • 1 : BLS12-381

  • 2 : SECP256K1

  • 3 : SECP256R1

  • 4 : ED25519

  • 5 : GRUMPKIN

PreviousRust -> Wasm bidingsNextECDSA & Schnorr Signatures

Last updated 3 months ago

Was this helpful?