Exemplo n.º 1
0
        public override string ToString()
        {
            var prefix = _proofOfWork == null ? string.Empty : _proofOfWork.GetPrefix();

            return(SerializeObject(
                       new
            {
                BlockChain = _blockChain,
                ProofOfWork = prefix
            }
                       ));
        }
Exemplo n.º 2
0
        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;
                }
            }
        }