À propos du projet

BitChat est une application de messagerie décentralisée de pair à pair avec une architecture à double transport. Elle combine le réseau maillé Bluetooth local pour la communication hors ligne avec le protocole Nostr pour la messagerie mondiale basée sur Internet. Le projet déclare qu'il n'y a ni comptes, ni numéros de téléphone, ni serveurs centraux, et il est publié dans le domaine public. Pour une utilisation hors ligne, BitChat prend en charge la découverte de pairs Bluetooth Low Energy, la messagerie directe de pair à pair, le relais multi-saut jusqu'à sept sauts, le chiffrement Noise Protocol pour les sessions maillées, le formatage compact des paquets binaires et le cyclage de service adaptatif de la batterie. Pour la messagerie Internet, il utilise des relais Nostr avec des canaux basés sur la localisation définis par des coordonnées geohash à la précision du bloc, du quartier, de la ville, de la province et de la région. Les messages Internet privés utilisent des enveloppes privées spécifiques à BitChat transportées dans des événements kind-1059 avec chiffrement XChaCha20-Poly1305 ; ils ne sont pas compatibles NIP-17, NIP-44 ou NIP-59 et n'interopèrent qu'avec les clients BitChat. Les messages directs utilisent un routage intelligent : Bluetooth d'abord lorsqu'il est disponible, Nostr en secours sinon, et mise en file d'attente lorsqu'aucun transport n'est disponible. L'application inclut des commandes de style IRC telles que /slap, /msg et /who, une prise en charge native d'iOS et macOS, un effacement d'urgence par triple toucher, une compression de messages LZ4 et des instructions de compilation locales pour Xcode et Just. Le dépôt fournit également des conseils pour vérifier les compilations par rapport aux manifestes de hachage par version.