2022-10-28 03:17:15 +00:00
|
|
|
# Using [RLN](https://rfc.vac.dev/spec/32/) in JavaScript
|
|
|
|
|
|
|
|
> Rate limiting nullifier (RLN) is a construct based on zero-knowledge proofs
|
|
|
|
> that provides an anonymous rate-limited signaling/messaging framework
|
|
|
|
> suitable for decentralized (and centralized) environments
|
2022-09-26 00:41:30 +00:00
|
|
|
|
|
|
|
**Demonstrates**:
|
|
|
|
|
2022-10-28 03:17:15 +00:00
|
|
|
- RLN:
|
|
|
|
- Generate credentials
|
|
|
|
- Insert membership to smart contract (Goerli testnet)
|
|
|
|
- Retrieve smart contract state
|
|
|
|
- Generate and send proofs
|
|
|
|
- Verify incoming proofs
|
2022-09-26 00:41:30 +00:00
|
|
|
- Pure Javascript/HTML.
|
|
|
|
- Use minified bundle of js from unpkg.com, no import, no package manager.
|
|
|
|
|
2022-11-18 02:00:18 +00:00
|
|
|
To test the example:
|
|
|
|
|
|
|
|
```shell
|
|
|
|
git clone https://github.com/waku-org/js-waku-examples
|
|
|
|
cd js-waku-examples/rln-js
|
|
|
|
npm install
|
|
|
|
npm run start
|
|
|
|
# open http://127.0.0.1:8080 In your browser
|
|
|
|
```
|
|
|
|
|
|
|
|
**There are a known issue using this webapp with Firefox + MetaMask. Try Chrome or Brave if you encounter any issue**.
|
2022-09-26 00:41:30 +00:00
|
|
|
|
|
|
|
The `master` branch's HEAD is deployed at https://examples.waku.org/rln-js/.
|