zknotary-verifier v1.2.0
Verifier
Introduction
The Verifier component of zkNotary is a crucial tool for validating the authenticity of data notarized by the Prover. It's a WebAssembly module compiled from Rust, using wasm-pack, and is designed for use within JavaScript applications.
Features
- WebAssembly Compilation: The Rust code is compiled into WebAssembly, making it suitable for integration in web environments.
- Single Public Function -
verify
: Exposes a function that takesproof_json
andnotary_pubkey
as inputs and returns a plain-text notarization of the original interaction with a web server. - Digital Signature Validation: Validates that the proof was digitally signed by the notary server, ensuring authenticity.
Prerequisites
- Rust
- Cargo
- wasm-pack
Note: This project requires a clang version newer than 16.0.0 to compile ring to wasm. If not, you will run into warning: error: unable to create target: 'No available targets are compatible with triple "wasm32-unknown-unknown"'
File Structure
src/lib.rs
: This is the main library file for the Verifier.src/utils.rs
: This file contains utility functions used by the Verifier.pkg
: Autogenerated directory where the npm package code lives.examples/node
: A sample node application that showcases how to use the verifier package. For more information see the sample application's README file.
Usage
- Install wasm-pack
npm install -g wasm-pack
- Optional: For Mac users with a version of clang older than 16.0.0, you can use Homebrew to install
llvm
and then use it to compile the project.
brew install llvm
echo 'export PATH="/path/to/your/newly/installed/llvm/bin:$PATH"' >> ~/.zshrc
source ~/.zshrc
- Build the wasm project
wasm-pack build --target nodejs
This creates a new pkg
directory with the wasm package ready to publish to npmjs.com.
- Publish your npm package
cd pkg
npm publish
Contributing
Contributions are welcome. Please submit a pull request or create an issue to discuss the changes you want to make.
Acknowledgements
This project is inspired by and borrows code from the following projects:
We are grateful to the authors of these projects for their work.
License
Apache
14 days ago
14 days ago
14 days ago
14 days ago
14 days ago
14 days ago
14 days ago
5 months ago
5 months ago
5 months ago
5 months ago
5 months ago
5 months ago
5 months ago
5 months ago
5 months ago
5 months ago
5 months ago
5 months ago
5 months ago
5 months ago
5 months ago