encode method

String encode()

Encodes the CID to its string representation.

Implementation

String encode() {
  if (version == 0) {
    // CIDv0: base58-encoded multihash (no prefix)
    final mhBytes = multihash.toBytes();
    final encoded = multibaseEncode(Multibase.base58btc, mhBytes);
    // Remove the 'z' prefix for CIDv0
    return encoded.substring(1);
  }

  // CIDv1: <version><codec><multihash>
  final bytes = toBytes();
  final baseType = multibaseType ?? Multibase.base32;
  return multibaseEncode(baseType, bytes);
}