Skip to main content
Core est une implémentation interne avancée. Il n’est pas requis pour les opérations habituelles (publication, récupération de flux, notifications, etc.). Consultez cette page si vous manipulez directement les structures de données d’AT Protocol.

Vue d’ensemble du modèle de données AT Protocol

Le dépôt AT Protocol adopte une structure de données adressée par contenu. Les éléments suivants sont utilisés pour le stockage, le transfert et la vérification des données.

CBOR

La classe CBOR fournit l’encodage et le décodage au format DAG-CBOR utilisé par AT Protocol. Elle prend en charge les liens CID (tag 42) en extension du CBOR standard.

Encoder

Décoder

Utilité

L’encodage CBOR est nécessaire pour calculer ou vérifier manuellement le CID d’un post (voir aussi la page verify).

CID (Content Identifier)

Le CID est un identifiant auto-descriptif basé sur le hachage des données. Dans AT Protocol, le hachage SHA-256 est encapsulé dans un multihash, puis encodé en multicodec et multibase.

CIDv0 et CIDv1

API principale


CAR (Content Addressable aRchive)

Un fichier CAR est un format binaire qui contient un dépôt AT Protocol sous forme de séquence de blocs. Les données obtenues via com.atproto.sync.getRepo sont dans ce format.

Décodage

Vérification d’un Signed Commit

Pour s’assurer qu’un fichier CAR appartient bien à l’utilisateur, vérifiez la signature du Signed Commit avec la clé publique du DID Document.
Exemple d’implémentation : DownloadRepoCommand

TID (Timestamp Identifier)

Le TID est l’identifiant chronologique utilisé comme clé d’enregistrement dans AT Protocol. Il combine un horodatage en microsecondes et un identifiant d’horloge, encodés en base32 sur 13 caractères.

Génération et conversion

Structure d’un TID

TID::s32encode() et TID::s32decode() permettent la conversion entre entier et chaîne.

Varint (entier de longueur variable)

Varint est un utilitaire interne utilisé pour l’analyse binaire CAR / CBOR. On ne l’utilise normalement pas directement.

À propos du mocking des fonctions Core

Les fonctions Core (CBOR/CID/CAR/TID) n’effectuent aucun accès externe et ne nécessitent donc pas de mock lors des tests.

Liens utiles

Source : src/Core/
Dernière modification le 13 juillet 2026