A newbie here, just trying to connect the dots.

Why are there so many test environments in the ethereum ecosystem -- rinkebys, testrpc, ropsten and what else? Why not have just one testing environment that is as close to the "state" of the real production i.e. mainnet as possible?

What's the reasoning behind it?

  • 1
    It's worth noting that testrpc uses a JavaScript implemention of ethereum node, and although they try their best to match go-ethereum, occasionally you'd see discrepancies in implementations Commented Mar 13, 2018 at 8:21

2 Answers 2


Initially there was a single test network which used proof of work same as the main network. It turned out that it's vulnerable to DoS attacks, because the difficulty of mining is very low - anyone with enough computing power can mine blocks with lots of spammy transactions. Ropsten testnet is under kind of attack? What can we do?

As a solution the Parity team came up with the proof of authority (PoA) algorithm where Ether supply is controlled by trusted parties. The Kovan testnet uses PoA and thus immune to spam attacks. https://github.com/kovan-testnet/proposal

The Ethereum team then came up with their own PoA algorithm and rolled out the Rinkeby testnet: https://github.com/ethereum/EIPs/issues/225

You can find more details in this answer Comparison of the different TestNets


testRPC (or Ganache nowadays) is a tool running locally (or on virtual machine) to test your application on private blockchain. It is not a separate public test network. It can be configured to meet any particular needs of development and testing.

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.