public Transaction SendCoin(AsymmetricKeyParameter _receiver, float amount) { if (GetBalance() < amount) { Console.WriteLine("!!! - Not Enough coin to send transaction. Transaction Discarded."); return(null); } List <TransactionInput> inputList = new List <TransactionInput>(); float total = 0; foreach (var item in UnspentTransactionOutputList) { TransactionOutput UTXO = item.Value; total += UTXO.Amount; inputList.Add(new TransactionInput(UTXO.Id)); if (total > amount) { break; } } Transaction newTransaction = new Transaction(PublicKey, _receiver, amount, inputList); newTransaction.GenerateSignature(PrivateKey); foreach (TransactionInput input in inputList) { UnspentTransactionOutputList.Remove(input.TransactionOutputId); } return(newTransaction); }