1

Suppose I sign a transaction locally using eth_sendRawTransaction of an implementation (web3js, web3py etc.), and then send the same signed transaction to multiple providers like Infura, Alchemy and a node of my own. My questions as follows:

  • Does it have any side effects?
  • Could it increase the propagation chance of the transaction through mempools (assuming every node has a slightly different mempool state at a given time).
  • Do the nodes just discard the second coming signed transaction, if they already have the same transaction? Or do they add it to the queue and there is a chance that it will go into another block, different than the first one they have?
1

One transaction is (eventually) executed only once. It may be executed by different nodes around the same time and even maybe included in a block but only one such block may exist in the blockchain. So there is no point for nodes to even try adding a transaction twice so they will just ignore transactions which they already know about.

The more miner nodes know about your transaction the faster it may get processed as it can't be processed if nobody knows about it. There are no side effects. But this is only meaningful in some rare edge cases - typically the only meaningful way to speed up a transaction is to give it a higher gas price.

2
  • what happens if increasing only the gas limit and leaving every thing else the same? – abedfar Apr 15 at 23:28
  • Doesn't make any difference. – Lauri Peltonen Apr 16 at 4:54

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.