From 79c1e7ae556e7b982ce2ab6063130889129cb01a Mon Sep 17 00:00:00 2001 From: Jazz Turner-Baggs <473256+jazzz@users.noreply.github.com> Date: Tue, 22 Jul 2025 06:46:15 -0700 Subject: [PATCH] Updated readme.md --- README.md | 66 +++++++++---------------------------------------------- 1 file changed, 10 insertions(+), 56 deletions(-) diff --git a/README.md b/README.md index 94fd6bc..837b4d8 100644 --- a/README.md +++ b/README.md @@ -1,65 +1,19 @@ -# Nim Chat POC +# Waku Vibe Template -This is a technical proof of consuming the [chat_proto](https://github.com/waku-org/chat_proto/tree/base_types?tab=readme-ov-file) in nim. +This is a project template for vibe coding with Waku in nim. +The project imports Waku, builds dependencies and links the needed libraries, so you can get to hacking. -## Message Flow +## Getting Started -To establish a secure conversation, Saro and Raya need to: -1. Exchange key material -2. Agree on a secret key, and location to communicate +After cloning the repo, initialize the Waku side of the project and run the example code. -For this technical proof, recipient identity keys are exchanged out of bound via an invite link. More complex identity systems will be explored in the future. +`nimble initialize` - Sets up the Waku dependencies +`nimble run` - Runs and example of using Waku Filter. -Key derivation and message framing is defined by Inbox spec +## Troubleshooting +If it doesn't work and your error is not listed below, please open an issue or PR. - ```mermaid -sequenceDiagram - actor S as Saro - participant SI as Saro Inbox - participant C as Convo - participant RI as Raya Inbox - actor R as Raya +//[Placeholder] - - Note over SI,RI: All clients subscribe to their default Inbox - - SI ->> S: Subscribe - RI ->> R: Subscribe - - Note over R: Key Information is exchanged OOB - - Note over S: Conversation is created - C ->> S : Subscribe - S ->> RI : Send Invite `I1` - S ->> C : Send Message `M1` - - RI --) R : Recv `I1` - Note over R: Conversation is joined - C ->> R : Subscribe - C --) R: Recv `M1` - - R ->> C: Send M2 - C -->> S: Recv M2 - ``` - -## Running - - - -``` -# Run the default binary -nimble run -``` - - -## Limitations - -1. `.proto` files are included in this repo due to complications in importing nested packages using `?subdir=`. Once resolved there will be a single definition of protocol types. -1. Currently messages are not sent over the wire. They are simulated using a `TransportMessage`. - - -## License - -[MIT](https://choosealicense.com/licenses/mit/) \ No newline at end of file