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