Conceitos Jami

O Jami é uma plataforma bastante complexa que interage com muitos componentes diferentes e introduz muitos conceitos novos. Este manual destina-se a ajudá-lo a compreender como o Jami funciona, como desenvolver para o Jami e como contribuir para o projeto.

Para resumir rapidamente e ajudá-lo a encontrar a parte do manual que procura, eis um breve resumo das diferentes secções:

Jami is a distributed platform that allows users to communicate without the need for a central server. So, a Jami account consists of a chain of certificates (CA, account, and device) that is used to authenticate the user and to encrypt the communication. The account is stored on the user’s device, not on a server.

For this, here is the page that explains how it works:

After the user account is created, the user can contact other people by sending connection requests through a DHT (https://opendht.net) after finding the contact ID (directly known or by looking up the name server). If both parties agree, they will first try to create a P2P TCP link (with the ICE protocol), then encrypt it via TLS and use it as a multiplexed socket to transmit data for various protocols, cf.:

When both peers are in their contact list, a conversation is created. This conversation is a swarm based on Swarm Technology. A swarm is synced between all devices in a conversation via the git protocol (it’s a Git repository), and connections across devices in a conversation are routed by a component called the DRT (distributed routing table).

Em seguida, a conexão pode ser usada para enviar mensagens, arquivos ou fazer chamadas (1:1 ou conferências).

Nota

Only calls using Jami accounts are based on Swarm Technology.

Finally, a user can have multiple devices, and a lot of information is synced between them.