I have a very strange and annoying problem. I am trying to deploy a new contract however it just keeps cycling. I have the same problem on the POA testnet and on Ropsten. Please see below:

enter image description here

I have tried to cancel the transactions and even when I increase the gas to the fastest option, the transactions neither confirm nor reject.

Any ideas?


  • Can you please post the transaction-hash? Commented Oct 1, 2019 at 6:47
  • 1
    Ropsten has forked recently to Istanbul, and there were some issues with not enough miners in the forked chain reddit.com/r/ethereum/comments/db7zbh/….
    – Ismael
    Commented Oct 1, 2019 at 6:51
  • @Ismael that is good to know. Do you have any idea about Sokol - the POA testnet because I experienced something similar there... Commented Oct 1, 2019 at 6:53
  • @Ismael - it is definitely Ropsten causing the problem. I tried deploying on Rinkeby and it deploys just fine... Thanks again for your help! Commented Oct 1, 2019 at 7:26

2 Answers 2


Most ethereum nodes will put tx's from a particular address into a queue, with increasing unique nonces. tx's with larger nonces will not be sent as long as tx's with smaller nonces are pending.

In the past, when I was able to run my own geth node and submit tx's to that, occasionally pending tx's would get stuck forever like you describe on mainnet or morden (I've never been able to use ropsten b/c of slow mining times). The way I solved that was to reboot the geth node, and resubmit the tx's.

For example, if you were to start a Goerli testnet locally (which I highly recommend for its small size and speed)

geth --goerli --syncmode=light --rpcaddr=

Then connected with a geth console, you can use the txpool module to inspect any pending transactions sent from your node. You can even connect to your local node from Metamask, and use it to submit tx's.

$ geth attach --datadir ~/Library/Ethereum/goerli         
Welcome to the Geth JavaScript console!

instance: Geth/v1.9.4-stable-46891c12/darwin-amd64/go1.13.1
at block: 1393409 (Tue, 01 Oct 2019 04:48:27 EDT)
 datadir: /Users/ppham/Library/Ethereum/goerli
 modules: admin:1.0 debug:1.0 eth:1.0 les:1.0 net:1.0 personal:1.0 rpc:1.0 shh:1.0 txpool:1.0 web3:1.0

> txpool
  content: {
    pending: {},
    queued: {}
  inspect: {
    pending: {},
    queued: {}
  status: {
    pending: 0,
    queued: 0
  getContent: function(callback),
  getInspect: function(callback),
  getStatus: function(callback)

Hope that is helpful or at least interesting.


In the case you have pending transactions there are two fast options to solve the issue:

  1. Increase the Gas you spend for the transaction with the same account (do this in your truffle configuration or in your deployment code). Especially when the reason are pending transactions with the same nonce.

  2. Change the account for the deployment. Pending transactions are related to an account, so this will help as long your contract is ok.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

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