private List <OPReturnMessage> ProcessTx(GetBlockResult bd, GetRawTransactionVerboseResult transaction) { var foundMessages = new List <OPReturnMessage>(); if (transaction == null) { return(null); } if (!transaction.vin.Any() || transaction.vout == null) { return(null); } var vouts = transaction.vout.Where(a => a.scriptPubKey != null && a.scriptPubKey.asm.Contains("OP_RETURN")).ToList(); if (!vouts.Any()) { return(null); } foreach (var vout in vouts) { var message = new OPReturnMessage(bd, transaction, vout.scriptPubKey.asm); foundMessages.Add(message); Console.WriteLine($"{bd.height} - {transaction.txid} - {vout.n} - {message.message}"); } return(foundMessages.Any() ? foundMessages : null); }
public void AddMessage(OPReturnMessage message) { //TODO: using python script as basis, rewrite for C# }