serialize method Null safety
Creates the Uint8List
representation of the block header.
The block header is represented by a Uint8List
of the block properties.
Each item is prepended by its size calculate with CompactSize.encode.
The Uint8List structure is:
Uint8List<Uint8List> header = (BytesBuilder()
..add(UtilsCompactSize.encode(version))),
..add(UtilsCompactSize.encode(timestamp)),
..add(UtilsCompactSize.encode(previousHash)),
..add(UtilsCompactSize.encode(transactionRoot)),
]);
Implementation
Uint8List serialize() {
Uint8List serializedVersion = Bytes.encodeBigInt(BigInt.from(version));
Uint8List serializedTimestamp = (BytesBuilder()
..add(Bytes.encodeBigInt(
BigInt.from(timestamp.millisecondsSinceEpoch ~/ 1000))))
.toBytes();
Uint8List serializedPreviousHash = previousHash;
Uint8List serializedTransactionRoot = transactionRoot;
return (BytesBuilder()
..add(CompactSize.encode(serializedVersion))
..add(CompactSize.encode(serializedTimestamp))
..add(CompactSize.encode(serializedPreviousHash))
..add(CompactSize.encode(serializedTransactionRoot)))
.toBytes();
}