public byte[] CalculateBlockDataHash() { var blockData = new { index = this.Index, transactions = this.Transactions.Select(t => new { from = t.From, to = t.To, value = t.Value, fee = t.Fee, dateCreated = t.DateCreated, data = t.Data, senderPubKey = t.SenderPubKey, transactionDataHash = t.TransactionDataHash, senderSignature = t.SenderSignature, minedInBlockIndex = t.MinedInBlockIndex, transferSuccessful = t.TransferSuccessful, }), difficulty = this.Difficulty, prevBlockHash = this.PrevBlockHash, minedBy = this.MinedBy }; var tranDataJSON = JsonConvert.SerializeObject(blockData); return(CryptoUtils.CalcSHA256(tranDataJSON)); }
public void CalculateDataHash() { var tranData = new { from = this.From, to = this.To, value = this.Value, fee = this.Fee, dateCreated = this.DateCreated, // test if that is null data = this.Data, senderPubKey = this.SenderPubKey }; var tranDataJson = JsonConvert.SerializeObject(tranData); this.TransactionDataHash = CryptoUtils.CalcSHA256(tranDataJson); }
public byte[] CalculateBlockHash() { var data = string.Format("{0}|{1}|{2}", CryptoUtils.BytesToHex(this.BlockDataHash), this.DateCreated, this.Nonce); return(CryptoUtils.CalcSHA256(data)); }