waku-web-chat/README.md

83 lines
1.7 KiB
Markdown

# DEPRECATED: See js-waku https://github.com/status-im/js-waku for a better and up to date version
# Waku Web Chat Example
This is just a POC to showcase Waku usage from the browser.
Shamelessly based on https://github.com/libp2p/js-libp2p-examples/
## Install
``` sh
(cd browser && npm install)
(cd nodejs && npm install)
```
## Run
Run bootstrap node:
``` sh
cd nodejs/bootstrap
node index.js
```
Run nodejs node:
``` sh
cd nodejs/src
node index.js
```
Run browser node:
``` sh
cd browser
npm start
```
It may take a while for the browser node to connect with the nodejs node.
You may start multiple browser or nodejs nodes but only one bootstrap node.
## Patches
See patches folder for current hacks to get basic interop with nim-waku.
If there are problems applying them, comment out `postinstall` in
`package.json`.
## Interop with nim-waku
Go to https://github.com/status-im/nim-waku/ and build `wakunode2`.
Then run it:
```
./build/wakunode2 --ports-shift:0
```
Note the "Listening on" address in logs. E.g. `/ip4/0.0.0.0/tcp/60000/p2p/16Uiu2HAmVKynP3QDpjxS2gujvy2Bp3BEKp8NzKmYspxDEVAGHftG`.
Call nodejs node with it as argument:
``` sh
node index.js /ip4/0.0.0.0/tcp/60000/p2p/16Uiu2HAmVKynP3QDpjxS2gujvy2Bp3BEKp8NzKmYspxDEVAGHftG
```
You should notice in the nim-waku logs that messages are getting through. However, the protobuf isn't parsed.
The WakuMessage wrapper is also missing, meaning this current implementation is
not according to spec.
## WakuMessage support
There is a flag for using WakuMessage in both NodeJS and browser version.
## Debugging Node version
Run eg
`DEBUG=libp2p:gossipsub* node index.js /ip4/0.0.0.0/tcp/60000/p2p/16Uiu2HAm8btHBwum77YuqNgGK8yJGdPAHF5xGrfNMbKEXnyqN35i`