public GetHeadersMessage( List <Header> headerLocator, uint versionProtocol) : base("getheaders") { HeaderLocator = headerLocator; StopHash = ("00000000000000000000000000000000" + "00000000000000000000000000000000").ToBinary(); List <byte> payload = new List <byte>(); payload.AddRange(BitConverter.GetBytes(versionProtocol)); payload.AddRange(VarInt.GetBytes(HeaderLocator.Count())); for (int i = 0; i < HeaderLocator.Count(); i++) { payload.AddRange( HeaderLocator.ElementAt(i).Hash); } payload.AddRange(StopHash); Payload = payload.ToArray(); }
public static List <byte> GetBytes(string text) { List <byte> serializedValue = VarInt.GetBytes(text.Length); serializedValue.AddRange(Encoding.ASCII.GetBytes(text)); return(serializedValue); }
void SerializePayload() { var payload = new List <byte>(); payload.AddRange(VarInt.GetBytes(Headers.Count)); foreach (Header header in Headers) { payload.AddRange(header.GetBytes()); payload.Add(0); } Payload = payload.ToArray(); }
public InvMessage(List <Inventory> inventories) : base("inv") { Inventories = inventories; List <byte> payload = new List <byte>(); payload.AddRange(VarInt.GetBytes(inventories.Count)); Inventories.ForEach( i => payload.AddRange(i.GetBytes())); Payload = payload.ToArray(); }
public GetDataMessage(List <Inventory> inventories) : base("getdata") { Inventories = inventories; List <byte> payload = new List <byte>(); payload.AddRange(VarInt.GetBytes(Inventories.Count())); for (int i = 0; i < Inventories.Count(); i++) { payload.AddRange(Inventories[i].GetBytes()); } Payload = payload.ToArray(); }