WASM wrapper for SP1-Hypercube verifier
npm install @ethproofs/sp1-hypercube-wasm-verifierWebAssembly bindings for the SP1-Hypercube verifier.
This module builds the verify function from sp1-verifier into WebAssembly, enabling STARK proof verification to run directly in both web browsers and Node.js environments.
``bash`
npm install @ethproofs/sp1-hypercube-wasm-verifier
`typescript
import init, {
main,
verify_stark,
} from '@ethproofs/sp1-hypercube-wasm-verifier';
await init(); // Initialize WASM (if needed)
main(); // Initialize panic hook
// Verify a proof
const isValid = verify_stark(proofBytes, vkBytes);
`
`javascript
const {
main,
verify_stark,
} = require('@ethproofs/sp1-hypercube-wasm-verifier');
// The Node.js version initializes automatically
main(); // Initialize panic hook
const result = verify_stark(proofBytes, vkBytes);
`
`bash`
npm install
`bash`Build for all targets
npm run build:all
`bash`
npm run test:node
This runs the Node.js example that loads proof and verification key files from the filesystem and verifies them.
`bash`
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.