void PH_Version(byte[] payload)
{
MemoryStream stream = new MemoryStream(payload);
BinaryReader br = new BinaryReader(stream);
mRemoteVersion = br.ReadUInt32();
mRemoteServices = br.ReadUInt64();
mRemoteTimestamp = br.ReadUInt64();
{
//uint addrA_time = br.ReadUInt32();
ulong addrA_services = br.ReadUInt64();
byte[] addrA_ip = br.ReadBytes(16);
ushort addrA_port = br.ReadUInt16();
}
{
//uint addrB_time = br.ReadUInt32();
ulong addrB_services = br.ReadUInt64();
byte[] addrB_ip = br.ReadBytes(16);
ushort addrB_port = br.ReadUInt16();
}
mRemoteNodeNOnce = br.ReadUInt64();
ulong nameLen = Utils.ReadVarInt(br);
char[] clientName = br.ReadChars((int)nameLen);
mRemoteUserAgent = new string(clientName);
mRemoteHeight = br.ReadUInt32();
br.Close();
// Send verack
byte[] verackData = new byte[0];
SendPacket("verack", verackData);
mOwner.VersionRecieved(this);
Console.WriteLine("Remote Version: " + mRemoteVersion);
}