I have faced a very strange issue on Goerli Testnet using infura. The number of transactions in a blocks dropped from 168 transactions to 164.
I'm working on a blocks tracker, after receiving the block (newBlocksHeader subscription) i traverse the blocks transactions received from (
web3.eth.getBlock(blockNumber, true)) and filter out the required.
One of the transaction went missing. So when i tried to fetch the block again i saw the number of transactions are different from the one that i previously logged.
This is what my system logged Block 4988374 has 168 txs and filtered are 18.
This is what i got when i try to debug by missing transaction, Block 4988374 has 164 txs and filtered are 23. This time my missing transaction was included in this block.
I'm not sure what is happening here, how i can build a reliable system that doesn't miss any transaction.