Skip to main content

Interface: BlobRef

Defined in: src/types/atproto.ts:154

Blob reference pointing to content in a user's PDS.

Remarks

BlobRefs are metadata about blobs stored in user PDSes. They contain the CID for content addressing, MIME type, and size.

Chive stores BlobRefs only, not blob data. Blob data remains in the user's PDS. When serving blobs, Chive proxies requests to the user's PDS using the BlobRef CID.

This ensures user data sovereignty (users control their files), ATProto compliance (AppViews do not store source data), and scalability (no blob storage costs for Chive).

Example

const blobRef: BlobRef = {
$type: 'blob',
ref: 'bafyreib2rxk3rybk3aobmv5dgudb4vls5sj3bkxfq7c42wgk6b6a7q' as CID,
mimeType: 'application/pdf',
size: 2048576
};

Properties

$type

readonly $type: "blob"

Defined in: src/types/atproto.ts:158

Type discriminator for blob references.


mimeType

readonly mimeType: string

Defined in: src/types/atproto.ts:177

MIME type of the blob.

Remarks

Common MIME types in Chive:

  • application/pdf - Preprint PDFs
  • image/png, image/jpeg - Figures, author avatars
  • application/zip - Supplementary materials

ref

readonly ref: CID

Defined in: src/types/atproto.ts:166

CID of the blob in the user's PDS.

Remarks

Used to fetch blob from PDS via com.atproto.sync.getBlob.


size

readonly size: number

Defined in: src/types/atproto.ts:188

Size of the blob in bytes.

Remarks

Used for:

  • Storage quota checks
  • Download progress indicators
  • Large file warnings (e.g., > 50 MB)