The entire vac protocol is under active development, each specification has its own
status which is reflected through the version number at the top of every document. We use semver to version these specifications.
These protocols define various components of the vac stack.
- mvds - Data Synchronization protocol for unreliable transports.
- remote log - Remote replication of local logs.
- mvds metadata - Metadata field for MVDS messages.
Waku is a protocol that substitutes EIP-627.
- waku - ÐΞVp2p wire protocol, substituting EIP-627.
- envelope data format - waku envelope data field specification.
- mailserver - Mailserver specification for archiving and delivering historical waku envelopes on demand.
- rpc api - The RPC API for interacting with a Waku node.
Waku v2 is in early development. Here you can read more about the plan for it. Here’s the current raw spec:
Sequence diagrams are generated using Mscgen like this:
mscgen -T png -i input.msc -o output.png. Both the source and generated image should be in source control. For ease of readability, the generated image is embedded inside the main spec document.
The lifecycle of the specs follows the COSS Lifecycle
The keywords “MUST”, “MUST NOT”, “REQUIRED”, “SHALL”, “SHALL NOT”, “SHOULD”, “SHOULD NOT”, “RECOMMENDED”, “MAY”, and “OPTIONAL” in this document are to be interpreted as described in RFC 2119.
To run the spellchecker locally, you must install pyspelling.
It can then be run with the following command:
pyspelling -c .pyspelling.yml
Words that should be ignored or are unrecognized must be added to the wordlist.
We use remark to verify our markdown. You can easily run this tool simply by using our
npm install npm run lint
We use textlint for extra markdown verification. You can easily run this tool simply by using our
npm install npm run textlint