bdim1 b61a381a11 fix: rln/nrln refactoring, identities and types update, zkeyFiles added
Former-commit-id: 69221053bfd42ca787e405b90b7654a6320eb797 [formerly b32fc77aa40f6306e415d41807cd2582add75576] [formerly fa913c98a96f91c77d01df6725d77adb020b68aa [formerly 36fcf8482b]]
Former-commit-id: 38c46f3594790895f456019d533aa41b3d01ca31 [formerly a204a646b8d4194514d68dd922183bbecfefdffa]
Former-commit-id: d980f64fdcb24cf04c129818c19d7895605f156e
2021-12-28 16:28:26 +01:00
2021-10-19 00:06:09 +02:00
2021-10-21 11:29:14 +02:00
2021-10-25 10:12:55 +02:00
2021-10-21 11:29:14 +02:00
2021-10-25 15:13:47 +02:00
2021-10-19 12:19:50 +02:00
2021-12-03 00:57:32 +01:00
2021-12-03 00:45:13 +01:00
2021-10-22 17:55:55 +02:00
2021-10-19 12:22:21 +02:00

Libsemaphore

A monorepo of JavaScript libraries for Semaphore.

Github license GitHub Workflow test Linter eslint Code style prettier Lerna

A library that allows for easy access and interoperability for Semaphore and RLN constructs. It is meant to be used by third-party applications to easily integrate with Seamphore and RLN. The library provides an API (Semaphore and RLN) for:

  • Identity generation
  • Proof generation
  • Proof verification

The library is structured as a three separate npm packages:

  • @libsem/identity: Exposes utilities for Zk identity generation, necessary for interacting with the Zk protocols supported by this library,
  • @libsem/protocols: Utilities for proof genration and verification for various Zk protocols,
  • @libsem/types: Helper package which exposes the types used by identity and protocols packages.

All the packages provide tests which can be used as a guide for interaction.


📦 Packages

Package Version Downloads Size
@libsem/identity NPM version Downloads npm bundle size (scoped)
@libsem/protocols NPM version Downloads npm bundle size (scoped)
@libsem/types NPM version Downloads

🛠 Install

Clone this repository and install the dependencies:

$ git clone https://github.com/appliedzkp/libsemaphore.git
$ cd libsemaphore && npm i

📜 Usage

$ npm run lint # Lint all packages.
$ npm run test # Test all packages (with common coverage).
$ npm run build # Create a JS build for each package.
$ npm run publish:fp # Publish packages on npm.

You can see the other npm scripts in the package.json file.

Description
No description provided
Readme MIT 49 MiB
Languages
TypeScript 95.5%
TeX 4.4%