public ulong Mine(BitcoinHeader block) { block.PoWNonce = 0; var hash_block = HashNumber(block); var target = block.PoWTarget; while (hash_block > target) { block.PoWNonce++; hash_block = HashNumber(block); } return(hash_block); }
public static string Hash(BitcoinHeader block) { var block_str = JsonConvert.SerializeObject(block); return(Blockchain.sha256_hash(block_str)); }
/// <summary> /// </summary> /// <param name="block"></param> /// <returns>64 char string as byte array = 67 digits number</returns> public static ulong HashNumber(BitcoinHeader block) { var hash = Hash(block); return(HashNumber(hash)); }