0.3.0 • Published 1 year ago
@vself_project/shared-utils v0.3.0
Shared utils for ZKP
Currently it exports following functions:
1. mimc_hash(bigint left, bigint right) => Commitment
1. prove_set_membership(Vec<Commitment> set, bigint secret, bigint salt) => MembershipProof
1. verify_set_membership(Vec<Commitment> set, MembershipProof p) => bool
to give an example:
import * as wasm from "shared-utils";
const pc1 = wasm.mimc_hash(BigInt(0), BigInt(1));
const pc2 = wasm.mimc_hash(BigInt(0), BigInt(2));
About template
📚 Read this template tutorial! 📚
This template is designed for compiling Rust libraries into WebAssembly and publishing the resulting package to NPM.
Be sure to check out other wasm-pack
tutorials online for other
templates and usages of wasm-pack
.
🚴 Usage
🐑 Use cargo generate
to Clone this Template
Learn more about cargo generate
here.
cargo generate --git https://github.com/rustwasm/wasm-pack-template.git --name my-project
cd my-project
🛠️ Build with wasm-pack build
wasm-pack build
🔬 Test in Headless Browsers with wasm-pack test
wasm-pack test --headless --firefox
🎁 Publish to NPM with wasm-pack publish
wasm-pack publish
🔋 Batteries Included
wasm-bindgen
for communicating between WebAssembly and JavaScript.console_error_panic_hook
for logging panic messages to the developer console.wee_alloc
, an allocator optimized for small code size.LICENSE-APACHE
andLICENSE-MIT
: most Rust projects are licensed this way, so these are included for you
License
Licensed under either of
- Apache License, Version 2.0, (LICENSE-APACHE or http://www.apache.org/licenses/LICENSE-2.0)
- MIT license (LICENSE-MIT or http://opensource.org/licenses/MIT)
at your option.
Contribution
Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.