2020-09-17 10:43:38 +00:00
|
|
|
---
|
|
|
|
title: Waku
|
2020-09-25 14:06:01 +00:00
|
|
|
version: 2.0.0-alpha5
|
2020-09-17 10:43:38 +00:00
|
|
|
status: Raw
|
2020-09-25 14:06:01 +00:00
|
|
|
authors: Oskar Thorén <oskar@status.im>, Dean Eigenmann <dean@status.im>
|
2020-09-17 10:43:38 +00:00
|
|
|
---
|
|
|
|
|
|
|
|
# Table of Contents
|
|
|
|
|
2020-09-25 14:06:01 +00:00
|
|
|
- [Abstract](#abstract)
|
|
|
|
- [Wire Specification](#wire-specification)
|
|
|
|
* [Protobuf](#protobuf)
|
|
|
|
- [Copyright](#copyright)
|
2020-09-17 10:43:38 +00:00
|
|
|
|
|
|
|
# Abstract
|
|
|
|
|
2020-09-25 14:06:01 +00:00
|
|
|
`WakuStore` is a protocol to enable querying of messages received through relay protocol and stored by other nodes.
|
2020-09-17 10:43:38 +00:00
|
|
|
|
|
|
|
**Protocol identifier***: `/vac/waku/store/2.0.0-alpha5`
|
|
|
|
|
2020-09-25 14:06:01 +00:00
|
|
|
# Wire Specification
|
2020-09-17 10:43:38 +00:00
|
|
|
|
2020-09-25 14:06:01 +00:00
|
|
|
Peers communicate with each other using a request / response API. The messages sent are Protobuf RPC messages.
|
2020-09-17 10:43:38 +00:00
|
|
|
|
2020-09-25 14:06:01 +00:00
|
|
|
## Protobuf
|
2020-09-17 10:43:38 +00:00
|
|
|
|
|
|
|
```protobuf
|
|
|
|
message HistoryQuery {
|
|
|
|
string uuid = 1;
|
|
|
|
repeated string topics = 2;
|
|
|
|
}
|
|
|
|
|
|
|
|
message HistoryResponse {
|
|
|
|
string uuid = 1;
|
|
|
|
repeated WakuMessage messages = 2;
|
|
|
|
}
|
|
|
|
```
|
|
|
|
|
|
|
|
##### HistoryQuery
|
|
|
|
|
|
|
|
RPC call to query historical messages.
|
|
|
|
|
|
|
|
The `uuid` field MUST indicate current request UUID, it is used to identify the corresponding response.
|
|
|
|
|
|
|
|
The `topics` field MUST indicate the list of topics to query.
|
|
|
|
|
|
|
|
##### HistoryResponse
|
|
|
|
|
|
|
|
RPC call to respond to a HistoryQuery call.
|
|
|
|
|
|
|
|
The `uuid` field MUST indicate which query is being responded to.
|
|
|
|
|
|
|
|
The `messages` field MUST contain the messages found.
|
|
|
|
|
|
|
|
# Copyright
|
|
|
|
|
|
|
|
Copyright and related rights waived via
|
|
|
|
[CC0](https://creativecommons.org/publicdomain/zero/1.0/).
|