Skip to content

ethproofs/openvm-wasm-stark-verifier

Repository files navigation

OpenVM Wasm Stark Verifier

WebAssembly bindings for the OpenVM STARK verifier.

Overview

This module builds the verify_vm_stark_proof function from the OpenVM verify-stark library into WebAssembly, enabling STARK proof verification to run directly in both web browsers and Node.js environments.

Usage

Installation

npm install @ethproofs/openvm-wasm-stark-verifier

React Integration

import init, {
  main,
  verify_stark,
} from '@ethproofs/openvm-wasm-stark-verifier';

await init(); // Initialize WASM (if needed)
main(); // Initialize panic hook

// Verify a proof
const isValid = verify_stark(proofBytes, vkBytes);

Node.js Usage

const { main, verify_stark } = require('@ethproofs/openvm-wasm-stark-verifier');

// The Node.js version initializes automatically

main(); // Initialize panic hook
const result = verify_stark(proofBytes, vkBytes);

Testing

Installation

npm install

Prerequisites

Building

# Build for all targets
npm run build:all

Node.js Example

npm run test:node

This runs the Node.js example that loads proof and verification key files from the filesystem and verifies them.

Browser Example

npm run test

This starts a local HTTP server at http://localhost:8080 with a browser example that demonstrates:

  • Loading the WASM module in a browser environment
  • File upload interface for proof and verification key files
  • Interactive STARK proof verification
  • Performance metrics and detailed logging
  • Error handling and user feedback

The browser example provides a complete UI for testing the WASM verifier with drag-and-drop file selection and real-time verification results.

Note: The browser example requires files to be served over HTTP due to WASM CORS restrictions. The included server script handles this automatically.

About

No description, website, or topics provided.

Resources

License

Apache-2.0, MIT licenses found

Licenses found

Apache-2.0
LICENSE-APACHE
MIT
LICENSE-MIT

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published