22/TOY-CHAT
| Field | Value |
|---|---|
| Name | Waku v2 Toy Chat |
| Slug | 22 |
| Status | draft |
| Editor | Franck Royer [email protected] |
| Contributors | Hanno Cornelius [email protected] |
Timeline
- 2026-01-16 —
89f2ea8— Chore/mdbook updates (#258) - 2025-12-22 —
0f1855e— Chore/fix headers (#239) - 2025-12-22 —
b1a5783— Chore/mdbook updates (#237) - 2025-12-18 —
d03e699— ci: add mdBook configuration (#233) - 2024-09-13 —
3ab314d— Fix Files for Linting (#94) - 2024-01-31 —
722c3d2— Rename TOY-CHAT.md to toy-chat.md - 2024-01-29 —
5c5ea36— Update TOY-CHAT.md - 2024-01-27 —
411e135— Create TOY-CHAT.md
Content Topic: /toy-chat/2/huilong/proto.
This specification explains a toy chat example using Waku v2. This protocol is mainly used to:
- Dogfood Waku v2,
- Show an example of how to use Waku v2.
Currently, all main Waku v2 implementations support the toy chat protocol: nim-waku, js-waku (NodeJS and web) and go-waku.
Note that this is completely separate from the protocol the Status app is using for its chat functionality.
Design
The chat protocol enables sending and receiving messages in a chat room. There is currently only one chat room, which is tied to the content topic. The messages SHOULD NOT be encrypted.
The contentTopic MUST be set to /toy-chat/2/huilong/proto.
Payloads
syntax = "proto3";
message Chat2Message {
uint64 timestamp = 1;
string nick = 2;
bytes payload = 3;
}
timestamp: The time at which the message was sent, in Unix Epoch seconds,nick: The nickname of the user sending the message,payload: The text of the messages, UTF-8 encoded.
Copyright
Copyright and related rights waived via CC0.