Skip to main content
Core is een geavanceerde interne implementatie. Voor gewone taken zoals posten, feeds ophalen en notificaties heb je deze niet nodig. Raadpleeg dit onderdeel als je rechtstreeks met de datastructuren van het AT Protocol wilt werken.

Overzicht van het AT Protocol-datamodel

Repositories in het AT Protocol gebruiken een content-addressable datastructuur. Voor het opslaan, overdragen en verifiëren van data worden de volgende elementen gebruikt.

CBOR

De CBOR-klasse biedt encoding en decoding in het DAG-CBOR-formaat dat het AT Protocol gebruikt. Als uitbreiding op standaard CBOR worden CID-links (tag 42) ondersteund.

Encoden

Decoden

Gebruik

Als je de CID van een post handmatig wilt berekenen of verifiëren, heb je CBOR-encoding nodig (zie ook de verify-pagina).

CID (Content Identifier)

Een CID is een zelfbeschrijvende identifier op basis van de hash van data. In het AT Protocol wordt een SHA-256-hash verpakt in een multihash en vervolgens geëncodeerd met multicodec en multibase.

CIDv0 en CIDv1

Belangrijkste API


CAR (Content Addressable aRchive)

Een CAR-bestand is een binair formaat dat een AT Protocol-repository opslaat als een reeks blokken. Data die je ophaalt met com.atproto.sync.getRepo heeft dit formaat.

Decoden

Signed Commits verifiëren

Om te controleren of een CAR-bestand echt van een bepaalde gebruiker is, verifieer je de handtekening van de Signed Commit met de publieke sleutel uit het DID Document.
Voorbeeldimplementatie: DownloadRepoCommand

TID (Timestamp Identifier)

Een TID is een chronologisch ID dat wordt gebruikt als recordsleutel in het AT Protocol. Het combineert een timestamp in microseconden met een clock-ID en encodeert dit in base32 tot een string van 13 tekens.

Genereren en converteren

De structuur van een TID

Met TID::s32encode() en TID::s32decode() kun je heen en weer converteren tussen integers en strings.

Varint (integer met variabele lengte)

Varint is een interne utility die wordt gebruikt bij het binair parsen van CAR/CBOR. Normaal gebruik je deze niet rechtstreeks.

Over het mocken van Core-functionaliteit

De Core-functionaliteit (CBOR/CID/CAR/TID) doet geen externe aanroepen, dus je hoeft er in tests niets voor te mocken.

Referenties

Source: src/Core/
Laatst gewijzigd op 6 september 2026