I have a parity node running and am watching the txpool for incoming tx's to a specific address. I need to catch the tx in the mempool. The node is in France and the tx's are sent from Ireland. All is working as expected, until there's congestion.
Issue
As soon as Gas price on eth-netstats
goes up to 10 Gwei, then the tx isn't found even if it gets confirmed in less than 1 minute. In my last test it was 20Gwei, I sent tx and it was confirmed in 30secs but wasn't in mempool on my node.
Stack
There are 36 peers on the node and cache size is 20GB ram. Here are the parity flags:
--base-path /home/parity/.local/share/io.parity.ethereum/
--cache-size 20480
--jsonrpc-interface all
--jsonrpc-hosts all
--jsonrpc-cors '*'
--ws-interface all
--ws-apis web3,eth,pubsub,net,parity,parity_pubsub,private,traces,rpc,shh,shh_pubsub
--ws-origins all
--ws-hosts all
Solutions
Here are some ideas I've had. I'm presuming under congestion, when my node and its peers's mempools are full, the tx is sent outside of range eg a mempool in China, gets confirmed there, added to block, thus skipping my & peers mempools. But could also be ram issue, a limit on mempool size, parity config etc.
- Increase Peer List
- Strip some flags on node to increase ram
- Static list of peers for western europe and surrounding regions
- Just give up (eth 2.0 may go smoothly but nothing ever does)