encode method
Encode message to bytes
Implementation
@override
Uint8List encode(int protocolVersion, MessageEncoding encoding) {
final bytes = <int>[];
// Protocol version (4 bytes, little endian)
final versionData = ByteData(4);
versionData.setUint32(0, this.protocolVersion, Endian.little);
bytes.addAll(versionData.buffer.asUint8List());
// Number of block locator hashes (VarInt)
VarInt.write(bytes, blockLocatorHashes.length);
// Block locator hashes (32 bytes each)
for (final hash in blockLocatorHashes) {
bytes.addAll(hash.bytes);
}
// Hash stop (32 bytes)
bytes.addAll(hashStop.bytes);
return Uint8List.fromList(bytes);
}