private async Task SaveInputsDb(GetRawTransactionPrcModel tx) { foreach (var itmVin in tx.Vin.Where(itm => itm.Txid != null)) { var addressVin = await _bitcoinRpc.GetRawTransactionAsync(itmVin.Txid); foreach (var itmAddressVin in addressVin.Vout) { if (itmAddressVin.N == itmVin.Vout) { foreach (var address in itmAddressVin.ScriptPubKey.Addresses) { //Console.WriteLine("------ Input - " + address); var newInputs = new Input { Txid = tx.Txid, Value = itmAddressVin.Value, Addresses = address, BlockHash = tx.Blockhash }; await _inputsRepository.SaveAsync(newInputs); } } } } }
public static RpcTransaction Create(GetRawTransactionPrcModel txData, long height) { return(new RpcTransaction { Blockhash = txData.Blockhash, Txid = txData.Txid, Confirmations = txData.Confirmations, Time = GetTime(txData.Time), Height = height }); }
private async Task SaveOutputsToDb(GetRawTransactionPrcModel tx) { foreach (var itmVout in tx.Vout.Where(itm => itm.ScriptPubKey.Addresses != null)) { foreach (var itmAdress in itmVout.ScriptPubKey.Addresses) { //Console.WriteLine("--- Output - " + itmAdress); var newOutputs = new Output { Time = tx.GetTime(), Txid = tx.Txid, Value = itmVout.Value, Addresses = itmAdress, BlockHash = tx.Blockhash }; await _outputsRepository.SaveAsync(newOutputs); } } }