11314e45f3 | ||
---|---|---|
.github/workflows | ||
ci | ||
eth-pm | ||
light-js | ||
relay-angular-chat | ||
relay-js | ||
relay-reactjs-chat | ||
rln-js | ||
store-js | ||
store-reactjs-chat | ||
web-chat | ||
.cspell.json | ||
.gitignore | ||
LICENSE-APACHE-v2 | ||
LICENSE-MIT | ||
README.md | ||
package.json | ||
pnpm-lock.yaml |
README.md
Js-Waku Examples
Examples
Here is the list of the examples using js-waku
and the features they demonstrate:
See https://docs.wakuconnect.dev/docs/examples/ for more examples.
Web Chat App
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.
Waku Light Client in JavaScript
Send messages between several users (or just one) using light client targetted protocols.
- code
- website
- Demonstrates: Waku Light node: Filter + Light Push, Pure Javascript/HTML using ESM/unpkg bundle.
Minimal Angular (v13) Waku Relay
A barebone messaging app to illustrate the Angular Relay guide.
- code
- website
- Demonstrates: Group messaging, Angular, Waku Relay, Protobuf using
protobufjs
, No async/await syntax.
Waku Relay in JavaScript
This example uses Waku Relay to send and receive simple text messages.
Waku Relay in ReactJS
A barebone chat app to illustrate the ReactJS Relay guide.
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
- RLN:
- 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 Retrieve Messages Using Waku Store With ReactJS guide.
- 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
.