sharp-cryptonote-tool/Block.cs

48 lines
967 B
C#

using System;
using System.Text;
using System.IO;
using sharp.cryptonote.streams;
using sharp.extensions;
namespace sharp.cryptonote
{
public class Block
{
Int64 major_version, minor_version, timestamp;
byte[] hash;
UInt32 nonce;
public Block(byte[] buffer)
{
decode( new ExtendedStreamReader(new MemoryStream(buffer) ) );
}
private void decode(ExtendedStreamReader reader){
major_version = reader.readVarInt();
minor_version = reader.readVarInt();
timestamp = reader.readVarInt();
hash = reader.readBytes(32);
nonce = reader.readUInt32();
}
public byte[] toBytes(){
return null;
}
public override string ToString()
{
StringBuilder sb = new StringBuilder();
sb.AppendFormat("[CryptoNote Block] Version: {0}.{1}, TS: {2} NONCE: {3}\n",major_version,minor_version,timestamp,nonce);
sb.AppendFormat("[CryptoNote Block] Last Blocks Hash: {0}\n",hash.toHexString());
return sb.ToString();
}
}
}