Skip to content

Latest commit

 

History

History
53 lines (34 loc) · 1.52 KB

File metadata and controls

53 lines (34 loc) · 1.52 KB

Developer Guide

Repository Map

flowchart TD

    NIM("<a href="https://github.com/logos-messaging/logos-chat"><b>Logos-Chat</b><br>c-bingings, process control, networking</a>")
    LIB("<a href="https://github.com/logos-messaging/libchat"><b>libchat</b><br>encryption, encoding</a>")
    PROTO("<a href="https://github.com/logos-messaging/chat-proto"><b>chat-proto</b><br>protobufs, language specific types</a>")
    LMN("<a href="https://github.com/logos-messaging/logos-messaging-nim"><b>logos-messaging-nim</b><br>p2p networking</a>")


    NIM --> LIB
    NIM --> LMN
    LIB --> PROTO

%% Mark External Dependencies
style LMN fill:#fff 

Loading

Repositories

logos-chat

Root of the Logos chat SDK, written in Nim.

Handles async operations and bridges network operations with the cryptographic backend.

Responsibilities:

  • C bindings to Libchat
  • Async execution (Chronos)
  • Network integration

libchat

Cryptographic logic implementation in Rust.

Operates as a pipeline: accepts either encrypted payloads or plaintext content, returns the other. Encrypted payloads can be sent directly to network clients; decrypted content goes to applications.

Responsibilities:

  • Cryptographic implementations
  • Encoding/decoding

logos-message-delivery

P2P networking layer using logos-messaging protocol.

Provides decentralized message transport. This is an external dependency.

chat-proto

Protobuf definitions.

Defines the protobufs used in the logos-chat protocol and provides generated types for various languages.