I use Nethereum in my project to get all pending transactions on a specific smartcontract address. To do that based on the existing docs and Nethereum playground I try the following:
private async Task MonitorPendingTransactions()
{
var web = new Web3Geth("http://***.***.***.***:8545");
var transferEventHandler = web3.Eth.GetEvent<TransferEventDTO>(contractAddr);
var filterAllTransferEventsForContract = transferEventHandler.CreateFilterInput();
var allTransferEventsForContract = await transferEventHandler.GetAllChanges(filterAllTransferEventsForContract);
Thread.Sleep(10000);
allTransferEventsForContract = await transferEventHandler.GetAllChanges(filterAllTransferEventsForContract);
}
My TransferEventDTO is the same as in the official docs in the same place:
[Event("Transfer")]
public class TransferEventDTO : IEventDTO
{
[Parameter("address", "_from", 1, true)]
public string From { get; set; }
[Parameter("address", "_to", 2, true)]
public string To { get; set; }
[Parameter("uint256", "_value", 3, false)]
public BigInteger Value { get; set; }
}
So far i have 2 issue:
- I cant specify the starting block from which i'd like to get output, like pending instead of latest
GetAllChanges()
always returns 0 objects, no matter how long i wait, am I doing something wrong in filter configuration or pending transactions should be queried via some other way?