Examples on how to use the js-waku library
Go to file
Sasha 427db17096
feat: remove lab.waku.org related examples (#295)
2024-02-14 01:32:00 +01:00
.github feat: remove lab.waku.org related examples (#295) 2024-02-14 01:32:00 +01:00
.husky use npx in husky 2022-12-23 23:05:50 +01:00
ci feat: remove lab.waku.org related examples (#295) 2024-02-14 01:32:00 +01:00
create-waku-app update README, bump version and fix bin command 2023-01-19 20:05:59 +01:00
examples feat: remove lab.waku.org related examples (#295) 2024-02-14 01:32:00 +01:00
.eslintrc.json feat: re-work rln-js (#281) 2023-11-20 19:00:11 +03:00
.gitignore chore!: update rln-js (#225) 2023-04-28 01:33:25 +02:00
LICENSE-APACHE-v2 First commit 2022-06-17 10:48:15 +10:00
LICENSE-MIT First commit 2022-06-17 10:48:15 +10:00
README.md feat: remove lab.waku.org related examples (#295) 2024-02-14 01:32:00 +01:00
index.html Correcting title 2023-04-28 13:50:04 +08:00
package-lock.json feat: re-work rln-js (#281) 2023-11-20 19:00:11 +03:00
package.json feat: re-work rln-js (#281) 2023-11-20 19:00:11 +03:00

README.md

Js-Waku Examples

Examples

Here is the list of the examples using js-waku and the features they demonstrate:

See https://examples.waku.org/ for more examples.

Ethereum Private Messaging

End-to-end encrypted communication between two Ethereum addresses.

  • code
  • website
  • Demonstrates: Private Messaging, React/TypeScript, Light Client, Signature with Web3, Asymmetric Encryption.

Using RLN 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

Use RLN in the browser, compatible with nwaku chat2 and go-waku chat2 RLN implementations.

  • code
  • website
  • Demonstrates:
    • RLN:
      • Generate credentials
      • Insert membership to smart contract (Goerli testnet)
      • Retrieve smart contract state
      • Generate and send proofs
      • Verify incoming proofs
  • Pure Javascript/HTML using ESM/unpkg bundle.

Using Waku Store in JavaScript

This example uses Waku Store to retrieve the latest ping relay message (used for keep alive purposes) and displays its timestamp.

  • code
  • website
  • Demonstrates: Waku Store: Using a condition to stop retrieving results from Waku Store, Pure Javascript/HTML using ESM/unpkg bundle.

Minimal ReactJS Waku Store App

A simple app that retrieves chat messages using Waku Store to illustrate the retrieval of messages with js-waku and ReactJS.

  • code
  • website
  • Demonstrates: React/JavaScript, Waku Store, Protobuf using protobufjs, no async/await syntax.

Continuous Integration

The master branch is being built by Jenkins CI: https://ci.infra.status.im/job/website/job/examples.waku.org/

Based on the ci/Jenkinsfile.