toBytes method

Uint8List toBytes()

Returns the raw binary representation of the CID.

Implementation

Uint8List toBytes() {
  if (version == 0) {
    return multihash.toBytes();
  }

  final builder = BytesBuilder();
  builder.addByte(0x01);
  int codecCode;
  if (codec == null) {
    codecCode = Multicodec.code('raw');
  } else if (Multicodec.supports(codec!)) {
    codecCode = Multicodec.code(codec!);
  } else {
    throw FormatException('Unsupported codec during CID encoding: $codec');
  }
  builder.add(encodeVarint(codecCode));
  builder.add(multihash.toBytes());
  return builder.toBytes();
}