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 classeCBOR 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 viacom.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.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/