fromContent static method

Future<CID> fromContent(
  1. Uint8List data, {
  2. String codec = 'raw',
  3. String hashType = 'sha2-256',
  4. int version = 1,
})

Creates a CID by hashing data with the given hashType.

The codec defaults to raw and version defaults to 1. Only sha2-256 is currently supported as hashType.

Implementation

static Future<CID> fromContent(
  Uint8List data, {
  String codec = 'raw',
  String hashType = 'sha2-256',
  int version = 1,
}) async {
  if (hashType != 'sha2-256') {
    throw UnsupportedError('Hash type $hashType not supported');
  }
  final digest = sha256.convert(data).bytes;
  final mh = MultihashUtils.encode(hashType, Uint8List.fromList(digest));
  if (version == 0) {
    return CID.v0(Uint8List.fromList(digest));
  }
  return CID.v1(codec, mh);
}