No description
Find a file
2024-09-13 17:12:34 +02:00
.cargo starknet_with_keccak 2024-07-15 20:14:30 +02:00
.github/workflows public memory test fix 2024-09-09 13:44:45 +02:00
cli version bump v0.1.0 2024-09-13 17:07:19 +02:00
crates default features fix 2024-09-13 17:05:08 +02:00
examples Heap fix in no_std 2024-09-09 14:28:35 +02:00
proof_parser version bump v0.1.0 2024-09-13 17:07:19 +02:00
wasm_bindings version bump v0.1.0 2024-09-13 17:07:19 +02:00
.dockerignore docker publish 2024-07-26 13:34:02 +02:00
.gitignore minor refactor 2024-07-22 13:32:38 +02:00
Cargo.lock version bump v0.1.0 2024-09-13 17:07:19 +02:00
Cargo.toml version bump v0.1.0 2024-09-13 17:07:19 +02:00
clippy.toml init 2024-07-06 17:20:50 +02:00
LICENSE Initial commit 2024-07-06 16:53:55 +02:00
README.md version bump v0.1.0 2024-09-13 17:07:19 +02:00
runtime.dockerfile dockerfile fix 2024-08-14 21:42:03 +02:00
rust-toolchain.toml features deps fixes and refactor 2024-07-22 13:12:34 +02:00
rustfmt.toml init 2024-07-06 17:20:50 +02:00

Swiftness CairoVM Verifier

Version Continuous Integration

Crates.io Version docs.rs hub.docker

Swiftness is a Rust implementation of the Cairo-VM STARK verifier with layouts, inspired by StarkWare's Cairo-verifier in Cairo0.

Getting Started

Verify an Example Proof

cd cli && cargo run --release --bin swiftness --features starknet_with_keccak,keccak_160_lsb,stone5 --no-default-features -- --proof ../examples/proofs/starknet_with_keccak/cairo0_stone5_example_proof.json

Running Tests

cargo test

WebAssembly (WASM) Setup

  1. Install wasm-pack:

    cargo install wasm-pack
    
  2. Build WASM:

    cd wasm_bindings && wasm-pack build --target web --features recursive_with_poseidon,blake2s_248_lsb,stone5 --no-default-features
    

Features

Implemented Layouts

  • dex
  • recursive
  • recursive_with_poseidon
  • small
  • starknet
  • starknet_with_keccak
  • dynamic

Commitment Hashes

  • keccak_160_lsb
  • keccak_248_lsb
  • blake2s_160_lsb
  • blake2s_248_lsb

Stone Prover versions

  • Stone5
  • Stone6

Web Support

Other Platforms Support

  • Bare Armv7-R, Big Endian - armebv7r-none-eabi
  • Bare RISC-V (RV64IMAC ISA) - riscv64imac-unknown-none-elf
  • Bare ARM64, softfloat - aarch64-unknown-none-softfloat
  • Bare ARM64, hardfloat - aarch64-unknown-none

Contributing

Contributions are welcome! Feel free to open issues or submit pull requests to help improve this project.