2021-06-09 06:34:17 +00:00
|
|
|
# go-nwaku
|
|
|
|
|
|
|
|
Go wrapper for running nim-waku as a subprocess.
|
|
|
|
|
|
|
|
## Rationale
|
|
|
|
|
|
|
|
1. Provide a friendly interface to use Waku for Go environments.
|
|
|
|
2. More wood behind fewer arrows; promote code reuse.
|
2021-06-09 06:37:57 +00:00
|
|
|
|
2021-06-09 06:39:14 +00:00
|
|
|
## Direction
|
|
|
|
|
|
|
|
For similar projects, see: https://github.com/ethereum/py-geth
|
|
|
|
|
|
|
|
JSON RPC spec that nim-waku exposes: https://rfc.vac.dev/spec/16/
|
|
|
|
|
2021-06-09 06:37:57 +00:00
|
|
|
## Running
|
|
|
|
|
|
|
|
- (Temp) Ensure you have `wakunode2` nim-waku in the `bin` directory
|
2021-06-09 07:48:17 +00:00
|
|
|
|
|
|
|
## API calls used by chat2
|
|
|
|
|
2021-06-11 10:19:05 +00:00
|
|
|
- [x] Query
|
|
|
|
- [x] Subscribe (subscribe+poll)
|
|
|
|
- [x] Publish
|
|
|
|
|
|
|
|
Peer management can be done by command line interface instead:
|
|
|
|
|
|
|
|
- [] DialPeer
|
|
|
|
- [] AddStorePeer
|
|
|
|
- [] ListPeers
|
2021-06-11 10:17:55 +00:00
|
|
|
|
|
|
|
## Caveats
|
|
|
|
|
2021-06-13 12:53:16 +00:00
|
|
|
For the existing wrapping:
|
|
|
|
|
2021-06-11 10:17:55 +00:00
|
|
|
Assumes we can spawn a child process. In some environments, such as on iOS, this
|
|
|
|
may not be permitted.
|
2021-06-13 12:53:16 +00:00
|
|
|
|
|
|
|
For wrapping as a shared library, see https://github.com/status-im/nim-waku/pull/614 for WIP
|