js.waku.guide/src/examples.md

77 lines
1.9 KiB
Markdown
Raw Normal View History

2021-11-30 12:50:16 +11:00
# Examples
Here is the list of the code examples and the features they demonstrate.
To run or studies the example, click on the _repo_ links.
## Minimal ReactJS Chat App
Repo: [min-react-js-chat](https://github.com/status-im/js-waku/tree/main/examples/min-react-js-chat).
Demonstrates:
- Group chat
- React/JavaScript
- Waku Relay
- Protobuf using `protons`
- No async/await syntax
## Minimal ReactJS Waku Store App
Repo: [store-reactjs-chat](https://github.com/status-im/js-waku/tree/main/examples/store-reactjs-chat).
Demonstrates:
- Waku Store
- React/JavaScript
- Protobuf using `protons`.
## Vanilla Javascript Using Minified Library
Repo: [unpkg-js-store](https://github.com/status-im/js-waku/tree/main/examples/unpkg-js-store).
Demonstrates:
- How to stop retrieving results from Waku Store on condition
- Use minified bundle from Unpkg.com
- Vanilla JavaScript application
## Web Chat App
Repo: [web-chat](https://github.com/status-im/js-waku/tree/main/examples/web-chat).
Demonstrates:
- Group chat
- React/TypeScript
- Waku Relay
- Waku Store
- Protobuf using .proto files + [bufbuild](https://github.com/bufbuild/buf) + [ts-proto](https://www.npmjs.com/package/ts-proto)
## Ethereum Private Message Web App
Repo: [eth-pm](https://github.com/status-im/js-waku/tree/main/examples/eth-pm).
Demonstrates:
- Private messaging
- React/TypeScript
- Waku Light Push
- Signature with Web3 Wallet
- Asymmetric Encryption
- Symmetric Encryption
- Protobuf using [protobufjs](https://www.npmjs.com/package/protobufjs)
## Ethereum Private Message Using Web3 Wallet Encryption API Web App
Repo: [eth-pm-wallet-encryption](https://github.com/status-im/js-waku/tree/main/examples/eth-pm-wallet-encryption).
Demonstrates:
- Private Messaging
- React/TypeScript
- Waku Light Push
- Signature with Web3 using EIP-712: `eth_signTypedData_v4`
- Asymmetric Encryption
- Usage of `eth_decrypt` Web3 Wallet API
- Protobuf using [protobufjs](https://www.npmjs.com/package/protobufjs)