Modular p2p messaging stack, with a focus on secure messaging. https://rfc.vac.dev/
Go to file
Oskar Thorén 9fba80a5a5
Raw version of Waku v2 spec (#144)
* Raw initially shaping of Waku v2 spec

* Add protocol identifer

* PubSub interface

* floodsub; peer discovery

* Add abstract

* message rpc; bridge mode; reference

* Move out notes to issue; bump alpha1

* Update specs/waku/waku-v2.md

Co-authored-by: Dean Eigenmann <7621705+decanus@users.noreply.github.com>

* Updaet protocol identifier to /wakusub/2.0.0-alpha1

* Add ToC

* Make links and references nicer

* Add motivation and goals

* Make spellchecker happy, hopefully

* Format

* Add to wire section protocol

* Make spell checker even happier, attempt 42

* Changelog todo

* Spellcheck

* Document Message type usage

* Add SubOpts section

* Update ToC

* Spellcheck

* Update specs/waku/waku-v2.md

Co-authored-by: Dean Eigenmann <7621705+decanus@users.noreply.github.com>

* Update specs/waku/waku-v2.md

Co-authored-by: Dean Eigenmann <7621705+decanus@users.noreply.github.com>

* Update specs/waku/waku-v2.md

Co-authored-by: Dean Eigenmann <7621705+decanus@users.noreply.github.com>

* Raw version

Co-authored-by: Dean Eigenmann <7621705+decanus@users.noreply.github.com>
2020-07-10 17:51:18 +08:00
.github Update main.yml (#136) 2020-05-28 11:46:43 +02:00
_includes added 2020-02-20 10:48:25 -05:00
_layouts fix 2020-02-20 10:51:53 -05:00
assets Update remote log asset 2019-10-01 12:52:02 +08:00
specs Raw version of Waku v2 spec (#144) 2020-07-10 17:51:18 +08:00
.gitignore travis 2020-01-31 17:33:54 +01:00
.pyspelling.yml Update main.yml (#136) 2020-05-28 11:46:43 +02:00
.remarkrc adds link checks (#131) 2020-05-21 12:20:44 +08:00
.textlintrc text-lint (#134) 2020-05-25 11:55:06 +02:00
404.html Create 404.html 2019-09-22 20:39:34 +02:00
CNAME Create CNAME 2019-08-04 15:25:11 +02:00
Gemfile sitemap (#109) 2020-03-01 17:00:06 +01:00
Gemfile.lock update 2020-02-20 10:18:26 -05:00
README.md feature/waku-rpc (#135) 2020-06-11 10:44:57 +02:00
_config.yml fix/redirects (#110) 2020-03-11 12:37:08 +01:00
package-lock.json text-lint (#134) 2020-05-25 11:55:06 +02:00
package.json text-lint (#134) 2020-05-25 11:55:06 +02:00
wordlist.txt Raw version of Waku v2 spec (#144) 2020-07-10 17:51:18 +08:00

README.md

CI

This repository contains the specs for vac, a modular peer-to-peer messaging stack, with a focus on secure messaging. A detailed explanation of the vac and its design goals can be found here.

Status

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.

Protocols

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

Waku is a protocol that substitutes EIP-627.

Style guide

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

Meta

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.

Linting

Spellcheck

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.

Markdown Verification

We use remark to verify our markdown. You can easily run this tool simply by using our npm package:

npm install
npm run lint

Textlint

We use textlint for extra markdown verification. You can easily run this tool simply by using our npm package:

npm install
npm run textlint