@vself_project/shared-utils

v0.3.0

Published

Currently it exports following functions:

Readme

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 and LICENSE-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.