signature = wBytes.GetItems((int)VarInt.ReadVarInt(ref wBytes));
}
+ /// <summary>
+ /// Convert current instance into sequence of bytes
+ /// </summary>
+ /// <returns>Byte sequence</returns>
+ public IList<byte> ToBytes()
+ {
+ List<byte> r = new List<byte>();
+
+ r.AddRange(header.ToBytes());
+ r.AddRange(VarInt.EncodeVarInt(tx.LongLength)); // transactions count
+
+ foreach (CTransaction t in tx)
+ {
+ r.AddRange(t.ToBytes());
+ }
+
+ r.AddRange(VarInt.EncodeVarInt(signature.LongLength));
+ r.AddRange(signature);
+
+ return r;
+ }
+
public override string ToString()
{
StringBuilder sb = new StringBuilder();
/// </summary>
public uint nNonce = 0;
+ /// <summary>
+ /// Initialize an empty instance
+ /// </summary>
public CBlockHeader ()
{
}
+ /// <summary>
+ /// Convert current block header instance into sequence of bytes
+ /// </summary>
+ /// <returns>Byte sequence</returns>
+ public IList<byte> ToBytes()
+ {
+ List<byte> r = new List<byte>();
+
+ r.AddRange(Interop.LEBytes(nVersion));
+ r.AddRange(prevHash.hashBytes);
+ r.AddRange(merkleRoot.hashBytes);
+ r.AddRange(Interop.LEBytes(nTime));
+ r.AddRange(Interop.LEBytes(nBits));
+ r.AddRange(Interop.LEBytes(nNonce));
+
+ return r;
+ }
+
public override string ToString()
{
StringBuilder sb = new StringBuilder();
return tx;
}
- IList<byte> ToBytes()
+ public IList<byte> ToBytes()
{
List<byte> resultBytes = new List<byte>();