I am trying to deploy a smart contract in the ethereum testnet and in order to accomplish that I tried to sync the Ethereum testnet "ropsten" using geth. I used the command below to do it.

geth --testnet --syncmode "fast" --rpc --rpcapi db,eth,net,web3,personal --
cache=1024  --rpcport 8545 --rpcaddr --rpccorsdomain "*" --
bootnodes "enode://20c9ad97c081d63397d7b685a412227a40e23c8bdc6688c6f37e97cfbc22d2b4d1db1510d8f61e6a8866ad7f0e17c02b14182d37ea7c3c8b9c2683aeb6b733a1@,enode://6ce05930c72abc632c58e2e4324f7c7ea478cec0ed4fa2528982cf34483094e9cbc9216e7aa349691242576d552a2a56aaeae426c5303ded677ce455ba1acd9d@"

The testnet should have synced in 15-20 minutes (from what I read in a couple places) but I have been running for almost 18 hours. There is no error and not struck at any point.

When I tried eth.syncing from the geth console, This is what I got

  currentBlock: 1588913,
  highestBlock: 1589055,
  knownStates: 9029253,
  pulledStates: 9020460,
  startingBlock: 1588426

I thought I was almost there at the highest block. But this has been the situation for couple of hours. The known states and pulled states are ever expanding.

Is there any other alternative way to download the testnet chaindata which will make the process much faster than syncing it through the geth command?

  • You could use testrpc if you just wanna run stuff?
    – 0xsegfault
    Commented Sep 1, 2017 at 0:02
  • The testnet should have synced in 15-20 minutes I suffered the same. VERY outdated tutorials.
    – 0xsegfault
    Commented Sep 1, 2017 at 0:03
  • I did use testrpc to develop. I was trying to deploy it in a public yet development environment. Ultimately, How long did it take for you ? Any quicker methods? Commented Sep 1, 2017 at 0:34
  • This could also be because you might have originally start with a normal sync then decided to go fast after. One you have started with a normal sync, it would ignore the fast sync after
    – 0xsegfault
    Commented Sep 1, 2017 at 0:55

1 Answer 1


The reason testnet is taking that long to sync is that you probably have lower than average connectivity. I would use metamask and generate an address on the testnet there. Then I would then deploy the contract on that address. If you are using Remix, you can select the option to inject web3js and it will pick up the meta mask address. If you need some ether to get you going, you can use the Rinkby Faucet that will give you up to 18.75 ETH to play with

  • Cool. That's one way to achieve it without all the time spent for syncing. I will definitely try and share my experience. Commented Sep 1, 2017 at 0:55

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.