1.0.0-beta • Published 2 months ago
@zk-kit/circuits v1.0.0-beta
This package offers a collection of reusable circuits designed for integration into other projects or protocols, promoting code modularization within the zero-knowledge ecosystem. |
---|
!IMPORTANT
Installation of Circom and Nargo required for circuit tests.
Circuits
- Circom:
- PoseidonProof: It proves the possession of a Poseidon pre-image without revealing the pre-image itself.
- BinaryMerkleRoot: It calculates the root of a binary Merkle tree using a provided proof-of-membership.
- Noir:
- Sparse Merkle Tree PoseidonBN254: A reusable library of functions related to Sparse Merkle Trees based on the JS implementation of @zk-kit/smt. The library uses the Poseidon hash to implement the following functions:
- verifying membership and non-membership proofs
- adding a new entry to a SMT
- updating an entry of an SMT
- deleting an existing entry from an SMT
- Sparse Merkle Tree PoseidonBN254: A reusable library of functions related to Sparse Merkle Trees based on the JS implementation of @zk-kit/smt. The library uses the Poseidon hash to implement the following functions:
🛠 Install
Using NPM or Yarn (Circom circuits)
Install the @zk-kit/circuits
package with npm:
npm i @zk-kit/circuits --save
or yarn:
yarn add @zk-kit/circuits
Using Nargo (Noir circuits)
In your Nargo.toml file, add the following dependency:
[dependencies]
smt_bn254 = { tag = "v0.1.0", git = "https://github.com/privacy-scaling-explorations/zk-kit/packages/circuits/noir", directory="crates/smt_bn254" }