public override string ToString() { var prefix = _proofOfWork == null ? string.Empty : _proofOfWork.GetPrefix(); return(SerializeObject( new { BlockChain = _blockChain, ProofOfWork = prefix } )); }
public Block (T data, string previousHash = "", IProofOfWork proofOfWork = null) { _prefix = proofOfWork == null ? string.Empty : proofOfWork.GetPrefix (); var rnd = new Random (); while (true) { var blockData = new Data<T> (rnd.Next (), data, previousHash); var result = computeHash(blockData); if (string.IsNullOrEmpty (_prefix) || result.Substring (0, _prefix.Length) == _prefix) { _hash = result; _data = blockData; break; } } }