Skip to main content
Core es una implementación interna avanzada. No es necesaria para las operaciones habituales como publicar, obtener feeds o notificaciones. Consúltala cuando manipules directamente las estructuras de datos del AT Protocol.

Visión general del modelo de datos de AT Protocol

El repositorio de AT Protocol adopta una estructura de datos direccionable por contenido. Para almacenar, transferir y verificar los datos se emplean los siguientes elementos.

CBOR

La clase CBOR ofrece codificación y decodificación en el formato DAG-CBOR que adopta AT Protocol. Como extensión de CBOR estándar, admite enlaces CID (tag 42).

Codificar

Decodificar

Uso

Si quieres calcular o verificar manualmente el CID de una publicación, necesitas la codificación CBOR (ver también la página verify).

CID (Content Identifier)

El CID es un identificador autodescriptivo basado en el hash de los datos. En AT Protocol se envuelve el hash SHA-256 con multihash y, adicionalmente, se codifica con multicodec y multibase.

CIDv0 y CIDv1

API principal


CAR (Content Addressable aRchive)

El archivo CAR es un formato binario que almacena el repositorio del AT Protocol como una secuencia de bloques. Los datos obtenidos con com.atproto.sync.getRepo vienen en este formato.

Decodificar

Verificación del Signed Commit

Para comprobar que el archivo CAR pertenece a esa persona usuaria, verifica la firma del Signed Commit con la clave pública del DID Document.
Ejemplo de implementación: DownloadRepoCommand

TID (Timestamp Identifier)

El TID es un ID cronológico que se usa como clave de record en AT Protocol. Combina una marca temporal en microsegundos con un ID de reloj y se codifica en base32 como una cadena de 13 caracteres.

Generación y conversión

Estructura del TID

Con TID::s32encode() y TID::s32decode() puedes convertir entre entero y cadena.

Varint (entero de longitud variable)

Varint es una utilidad interna que se usa en el parsing binario de CAR / CBOR. Normalmente no se utiliza directamente.

Sobre el mock de las funciones Core

Las funciones Core (CBOR/CID/CAR/TID) no realizan accesos externos, por lo que no es necesario mockearlas en las pruebas.

Enlaces de referencia

Source: src/Core/
Última modificación el 13 de julio de 2026