mirror of https://github.com/status-im/specs.git
payload fmt and add transit faq
This commit is contained in:
parent
dc6bfa85d2
commit
142bb8f852
|
@ -33,11 +33,9 @@ as various clients created using different technologies.
|
||||||
|
|
||||||
In this document we describe the payload format and some special considerations.
|
In this document we describe the payload format and some special considerations.
|
||||||
|
|
||||||
The payload must be flexible enough to support messaging but also cases described in [Status Whitepaper](https://status.im/whitepaper.pdf) as well as various clients created using vastly different technologies.
|
## Payload wrapper
|
||||||
|
|
||||||
## Wrapper
|
All payloads are wrapped in a [protobuf record](https://developers.google.com/protocol-buffers/)
|
||||||
|
|
||||||
Payloads are wrapped in a [protobuf record](https://developers.google.com/protocol-buffers/)
|
|
||||||
record:
|
record:
|
||||||
|
|
||||||
```protobuf
|
```protobuf
|
||||||
|
@ -139,3 +137,9 @@ The current protocol format is hardly upgradable without breaking backward compa
|
||||||
## Security Considerations
|
## Security Considerations
|
||||||
|
|
||||||
TBD.
|
TBD.
|
||||||
|
|
||||||
|
## Design rationale
|
||||||
|
|
||||||
|
### Why are you using Transit and Protobuf?
|
||||||
|
|
||||||
|
Transit was initially chose for encoding, and Protobuf was added afterwards. This is partly due to the history of the protocol living inside of `status-react`, which is written in Clojurescript. In future versions of payload and data sync client specifications it is likely we'll move towards Protobuf only. See e.g. [Dasy](https://github.com/vacp2p/dasy) for a research proof of concept.
|
||||||
|
|
Loading…
Reference in New Issue