mirror of
https://github.com/status-im/status-go.git
synced 2025-02-08 12:54:37 +00:00
Why make the changes? Mainly performance, those fields are almost always present in the database but they are re-calculated on load by the client as it does not have necessarily access to it. What has changed? - Remove `_legacy` persistence namespaces as it's a vestige of the initial move frmo status-react to status-go - Pulling chats is now a join with contacts to add contact & alias
status-go/protocol
This is an implementation of the secure transport and payloads which are a part of the Status Client specification.
This implementation uses SQLite and SQLCipher for persistent storage.
The payloads are encoded using protocol-buffers.
Content
messenger.go
is the main file which exportsMessenger
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.encryption/
implements the Secure Transport spec.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.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 byMessenger
as a persistent data store.