mirror of
https://github.com/status-im/status-go.git
synced 2025-02-02 01:47:44 +00:00
f0d6a4f64f
* feat: send dm with cli * fix: send contact request works * feat: accept contact request * feat: send dm * fix: log * feat: more dm * fix: lint * refactor: fix comments * fix: more refactor * fix: refoctor more * fix: more refacotr * fix: refactor dm * fix: context from cli * fix: add light mode flag * fix: remove sleep when start node * fix: better log * fix: better logger * fix: lint * fix: comments * fix: const flags * fix: named logger * feat: inteactive mode * fix: send message in loop * fix: better context manage * feat: cli serve * fix: readme * extract to multi files * fix: status cli rpc * feat: create and login account * fix: missing messagess * fix: missing messages because data sync is not started. * feat: start http service * fix: lint * fix: more build instructions. * fix: review comments
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.
History
Originally this package was a dedicated repo called status-protocol-go
and was migrated into status-go
. The new status-go/protocol
package maintained its own dependencies until sub modules were removed and the root go.mod file managed all dependencies for the entire status-go
repo.