mirror of https://github.com/vacp2p/rfc.git
Move out notes to issue; bump alpha1
This commit is contained in:
parent
d2c174a703
commit
4e70b92f05
|
@ -1,64 +1,10 @@
|
||||||
---
|
---
|
||||||
title: Waku
|
title: Waku
|
||||||
version: 2.0.0-alpha0
|
version: 2.0.0-alpha1
|
||||||
status: Raw
|
status: Raw
|
||||||
authors: Oskar Thorén <oskar@status.im>
|
authors: Oskar Thorén <oskar@status.im>
|
||||||
---
|
---
|
||||||
|
|
||||||
**NOTE: This is a very early raw version of Waku v2 over libp2p**
|
|
||||||
|
|
||||||
## General notes and TODOs
|
|
||||||
|
|
||||||
### General
|
|
||||||
In general, we want to remove as much as possible. WakuSub should be a thin layer on top of PubSub.
|
|
||||||
|
|
||||||
A good question to ask: what is the minimal subset we have to support?
|
|
||||||
|
|
||||||
How can we defer specific properties to other protocols?
|
|
||||||
|
|
||||||
### Data field
|
|
||||||
Can we assume data field stays the same? There is nothing in data field about RLPx AFAICT:
|
|
||||||
https://github.com/vacp2p/specs/blob/master/specs/waku/envelope-data-format.md
|
|
||||||
|
|
||||||
### How do we deal with PoW etc?
|
|
||||||
If basically only full nodes set PoW to 0 then it be fine. But if light nodes also set this (afair they do) we have a compatibility issue. Though we also have mailservers.
|
|
||||||
|
|
||||||
Simplest might might be to basically send both envelopes, just take out the data thing:
|
|
||||||
- v1 [ expiry ttl topic data nonce ]
|
|
||||||
- v2 [ ... data ... ]
|
|
||||||
|
|
||||||
### Get rid of privileged point of node for RPC?
|
|
||||||
We could have JSON RPC for now and then use alt method later. We need to make
|
|
||||||
sure the interface with Stimbus and Core/Desktop makes sense.
|
|
||||||
|
|
||||||
It'd be useful if a node in browser could use another node without giving away
|
|
||||||
private keys (WalletConnect, e.g.).
|
|
||||||
|
|
||||||
### Are filters a useful abstraction?
|
|
||||||
Not sure I like this filter businesss, just deliver on a topic. If we want to do
|
|
||||||
that it can be done separately with a shim and have that specified at a
|
|
||||||
different layer. Removing coupling of routing and crypto.
|
|
||||||
|
|
||||||
### Consumer spec
|
|
||||||
Consumer: https://specs.status.im/spec/10
|
|
||||||
|
|
||||||
### Factoring out
|
|
||||||
Separate out into constituent pieces, keep main spec small here. What are the pieces?
|
|
||||||
- RPC/Node API
|
|
||||||
- Filter shim / crypto key compatibility
|
|
||||||
- Data field
|
|
||||||
- Waku v1 bridge
|
|
||||||
|
|
||||||
### App topics and waku topics
|
|
||||||
Ensure path forward for sharding topics. See Eth2 networking spec too.
|
|
||||||
|
|
||||||
Ensure topic interest in payload (not for routing, only edge nodes). Current Waku topics.
|
|
||||||
|
|
||||||
### Clarity of purpose
|
|
||||||
Make it very clear what we provide over e.g. FloodSub.
|
|
||||||
- Privacy, resource restriction (offline, topic interest, etc)
|
|
||||||
- Thin layer on top of PubSub
|
|
||||||
|
|
||||||
## Table of Contents
|
## Table of Contents
|
||||||
|
|
||||||
TODO
|
TODO
|
||||||
|
|
Loading…
Reference in New Issue