Class CID<Data, Format, Alg, Version>

Represents an IPLD link to a specific data of type T.

Template: T

Logical type of the data being linked to.

Template: C

multicodec code corresponding to a codec linked data is encoded with

Template: A

multicodec code corresponding to the hashing algorithm of the CID

Type Parameters

  • Data = unknown
  • Format extends number = number
  • Alg extends number = number
  • Version extends Version = Version

    CID version

Implements

Constructors

Properties

[toStringTag]: "CID" = 'CID'
bytes: Uint8Array
code: Format
multihash: MultihashDigest<Alg>
version: Version

Accessors

  • get asCID(): this
  • Signalling cid.asCID === cid has been replaced with cid['/'] === cid.bytes please either use CID.asCID(cid) or switch to new signalling mechanism

    Returns this

    Deprecated

Methods

  • Takes any input value and returns a CID instance if it was a CID otherwise returns null. If value is instanceof CID it will return value back. If value is not instance of this CID class, but is compatible CID it will return new instance of this CID class. Otherwise returns null.

    This allows two different incompatible versions of CID library to co-exist and interop as long as binary interface is compatible.

    Type Parameters

    • Data
    • Format extends number
    • Alg extends number
    • Version extends Version
    • U

    Parameters

    Returns null | CID<Data, Format, Alg, Version>

  • Simplified version of create for CIDv0.

    Type Parameters

    • T = unknown

    Parameters

    Returns CID<T, 112, 18, 0>

  • Decoded a CID from its binary representation at the beginning of a byte array.

    Returns an array with the first element containing the CID and the second element containing the remainder of the original byte array. The remainder will be a zero-length byte array if the provided bytes only contained a binary CID representation.

    Type Parameters

    • T
    • C extends number
    • A extends number
    • V extends Version

    Parameters

    Returns [CID<T, C, A, V>, Uint8Array]

  • Inspect the initial bytes of a CID to determine its properties.

    Involves decoding up to 4 varints. Typically this will require only 4 to 6 bytes but for larger multicodec code values and larger multihash digest lengths these varints can be quite large. It is recommended that at least 10 bytes be made available in the initialBytes argument for a complete inspection.

    Type Parameters

    • T
    • C extends number
    • A extends number
    • V extends Version

    Parameters

    Returns {
        codec: C;
        digestSize: number;
        multihashCode: A;
        multihashSize: number;
        size: number;
        version: V;
    }

    • codec: C
    • digestSize: number
    • multihashCode: A
    • multihashSize: number
    • size: number
    • version: V