update protocol package README (#1934)

This commit is contained in:
Adam Babik 2020-04-09 23:28:40 +02:00 committed by GitHub
parent 13da3a09c5
commit 2948544b7a
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -1,6 +1,18 @@
# status-go/protocol
This is the Status Protocol implementation in Go.
This is an implementation of the [secure transport](https://specs.status.im/spec/5) and [payloads](https://specs.status.im/spec/6) which are a part of [the Status Client specification](https://specs.status.im/spec/1).
This implementation uses SQLite and [SQLCipher](github.com/mutecomm/go-sqlcipher) for persistent storage.
TBD
The payloads are encoded using [protocol-buffers](https://developers.google.com/protocol-buffers).
## Content
* `messenger.go` is the main file which exports `Messenger` struct. This is a public API to interact with this implementation of the Status Chat Protocol.
* `protobuf/` contains protobuf files implementing payloads described in [the Payloads spec](https://specs.status.im/spec/6).
* `encryption/` implements [the Secure Transport spec](https://specs.status.im/spec/5).
* `transport/` connects the Status Chat Protocol with a wire-protocol which in our case is either Whisper or Waku.
* `datasync/` is an adapter for [MVDS](https://specs.vac.dev/specs/mvds.html).
* `applicationmetadata/` is an outer layer wrapping a payload with an app-specific metadata like a signature.
* `identity/` implements details related to creating a three-word name and identicon.
* `migrations/` contains implementation specific migrations for the sqlite database which is used by `Messenger` as a persistent data store.