CID class

A Content Identifier (CID) for content-addressed data in IPFS.

CIDs are self-describing content addresses that combine a cryptographic hash of the content with metadata about the hashing algorithm and data encoding.

  • CIDv0: legacy format, always SHA2-256 + DAG-PB, base58btc encoded.
  • CIDv1: modern format with flexible codecs and multibase encoding.

Example:

final data = Uint8List.fromList(utf8.encode('Hello IPFS'));
final cid = await CID.fromContent(data);
print(cid.encode()); // bafkrei...

Constructors

CID({required int version, required MultihashInfo multihash, String? codec, Multibase? multibaseType})
Creates a CID with the specified components.
const
CID.v0(Uint8List hashBytes)
Creates a CIDv0 from a 32-byte SHA2-256 hash.
factory
CID.v1(String codec, MultihashInfo multihash, {Multibase base = mb.Multibase.base32})
Creates a CIDv1 from a codec name and a multihash info.
factory

Properties

codec String?
The content codec (e.g., 'dag-pb', 'raw', 'dag-cbor').
final
hashCode int
The hash code for this object.
no setteroverride
multibaseType Multibase?
The multibase encoding type for string representation.
final
multihash MultihashInfo
The multihash containing the hash algorithm and digest.
final
runtimeType Type
A representation of the runtime type of the object.
no setterinherited
version int
The CID version (0 or 1).
final

Methods

encode() String
Encodes the CID to its string representation.
encodeWithBase(Multibase? base) String
Encodes the CID using the requested base.
encodeWithBaseName(String baseName) String
Encodes the CID using the base identified by baseName.
noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
toBytes() Uint8List
Returns the raw binary representation of the CID.
toPrefixBytes() Uint8List
Returns the CID prefix bytes (version + codec + multihash function + hash length), omitting the digest itself.
toString() String
Returns the encoded CID string.
override

Operators

operator ==(Object other) bool
The equality operator.
override

Static Methods

decode(String cidStr) CID
Decodes a CID from its string representation.
fromBytes(Uint8List bytes) CID
Parses a CID from its raw binary representation.
fromContent(Uint8List data, {String codec = 'raw'}) Future<CID>
Creates a CID by hashing data with SHA2-256.