UNPKG

zk-threshold-proof

Version:

A lightweight SDK to generate and verify ZK proofs that assert a private value is greater than or equal to a threshold.

117 lines (82 loc) 2.76 kB
[![npm version](https://img.shields.io/npm/v/zk-threshold-proof.svg)](https://www.npmjs.com/package/zk-threshold-proof) # zk-threshold-proof A modular, multichain SDK for generating and verifying zero-knowledge proofs based on threshold logic supporting local proof generation, off-chain verification, and adapter-based integration with ZK protocols like Polygon ID, Semaphore, and zkVerify. --- ## ✨ What's New (v0.3.2) - `witnessBuilder(config.json)` support zero-boilerplate proof generation - Modular adapter system for Polygon ID, Semaphore, zkVerify - Easy CLI/Node.js usage - Example circuits ready to go (`circuits/ageVerifier/`) --- ## 📦 Install ```bash npm install zk-threshold-proof ``` --- ## 🚀 Quick Start (with config.json) Create a file `config.json` (see `/circuits/ageVerifier/config.json` for template): ```json { "circuitPath": "./circuits/ageVerifier/ageVerifier.circom", "input": { "birthDate": 631152000, "minAge": 18, "currentDate": 1718169600 } } ``` Then run: ```js const { generateProof, verifyProof } = require('zk-threshold-proof'); (async () => { const proof = await generateProof('./circuits/ageVerifier/config.json'); const result = await verifyProof(proof); console.log("✅ Proof verified:", result); })(); ``` --- ## 🌐 Multichain Adapters The SDK includes ready-to-use adapters for different ZK systems: | Adapter | Description | |---------|-------------| | `zkVerifyAdapter` | Verifies proofs using zkVerify API (testnet ready) | | `polygonIdAdapter` | Integrates with Polygon ID verifiers | | `semaphoreAdapter` | Compatible with Semaphore-style circuits | All adapters follow a common interface and can be imported like: ```js const { zkVerifyAdapter } = require('zk-threshold-proof/src/adapters'); zkVerifyAdapter.verify(proof, verifierAddress); ``` You can also extend the SDK with your own adapter! --- ## 📂 Project Structure ``` zk-threshold-proof/ ├── src/ ├── generateProof.js ├── verifyProof.js ├── witnessBuilder.js └── adapters/ ├── polygonIdAdapter.js ├── semaphoreAdapter.js └── zkVerifyAdapter.js ├── circuits/ └── ageVerifier/ ├── ageVerifier.circom └── config.json ``` --- ## 📘 Documentation Visit the [📚 zk-threshold-proof Documentation](https://livresol.tech/docs/zk-threshold-proof) for: - Full API Reference - Adapter Guides - Circuit Customization - Deployment Recipes --- ## 🛠️ Contributing PRs welcome! This package is maintained by [Livre Soluções de Software](https://livresol.tech). Felipe Segall Corrêa ChatGPT4 --- ## 🪪 License MIT