public void SendTransaction(TransactionSigned result) { if (_chainData.AddPendingTransaction(result)) { _network.BroadcastAsync(new[] { result }); } }
public void ValidateTransaction(TransactionSigned transaction) { //TODO: Check signature by public key if (transaction.Sign == null) { throw new BlockchainValidationException("Transaction is not valid"); } }
public static byte[] ToBinary(this TransactionSigned value) { var dataSegments = new[] { value.Data.ToBinary(), value.Sign.ToBinary(), }; return(dataSegments.ToOneDimention()); }
public bool AddPendingTransaction(TransactionSigned transaction) { if (PendingTransactions.TryAdd(transaction.Sign, transaction)) { _feedback.NewTransaction(transaction); return(true); } return(false); }
public void NewTransaction(TransactionSigned transaction) { }
public void NewTransaction(TransactionSigned transaction) { OutLine($"# New transaction accepted, TH:{transaction.Sign}"); }