Everything you need to know about Ethereum testnets

7 min readApr 8, 2025

If you have made a transaction on the Ethereum blockchain then this will have been on the mainnet version — this is the production and ‘real’ version of the blockchain e.g where the stuff actually happens.

However this isn’t the only version of Ethereum (and other chains are the same) — there’s usually a devnet (or a few) which is where engineers can test out their products and services, and a testnet which is for stress testing any protocol level upgrades. These are essentially ‘practice’ environment to ensure nothing goes wrong when the builds make their way onto the mainnet.

Ethereum has had (by my count) 29 testnets in its 10 year history.

A History of Ethereum Testnets

The first ever testnet was ‘Olympic’ and was the pre-release of the proof-of-work chain that allowed developers to see what the Ethereum blockchain would behave like. However it was killed off after the network launched on the mainnet and replaced with Morden. This was replaced by Ropsten which had to be upgraded to Kovan after a denial of service attack in Feb 2017. Kovan was the first of 3 testnets that used a proof-of-authority (PoA) consensus model to only allow pre-agreed validators to run the testnet network, and was spun up very quickly in response to the attack. Rinkeby was introduced a few months later intending to be a longer term solution and took a slightly different approach to PoA. Then in 2018, a different contingent of consensus client teams released Goerli testnet (this remained one of the long-lived testnets until it was deprecated after the DenCun upgrade in April 2024)

The next era of testnets on Ethereum was all to the with the Merge and Ethereum transition from proof of work (PoW) to proof of stake (PoS). During the 2020 to 2021 period there were 21 different testnets spun up! Many of these were short lived testnets to check specific parts of the PoS transition or run specific tests. One of the main ones that is still available today is Sepolia and transitioned from being a PoW to PoS testnet in July 2022.

https://github.com/eth-clients/goerli

After Ethereum transferred to PoS there were three testnets for developers to play with: Sepolia, Goerli and later Holesky.

Sepolia replaced Ropsten.

However after the DenCun upgrade in 2024, Goerli was sunset and the newest testnet Holešky was introduced. Much of the discussion at the time was how to pronounce it — ‘Hole-sky’ or ‘Ho-les’key’ — it’s the later.

This provided a simple two option solution for developers where those testing their Ethereum build products and services could use Sepolia which used a PoA approach) and anyone testing infrastructure and wanting to practice running a validator and staking could use Holešky with a permissionless PoS approach.

https://eipsinsight.com/pectra

However then came along Pectra — the Ethereum upgrade introducing a raft of changes to the protocol, notably increasing the max staking balance per validator from 32 ETH to 2048 ETH, and allowing for execution layer triggerable exits. As with any Ethereum upgrade there were a number of devnet tests and then was released to the main testnets. First came Holešky which very quickly experienced issues! 😬

Several execution clients (Geth, Nethermind and Besu) had incorrect deposit contract addresses configured (the smart contract where staking deposits are sent) and this caused them to create blocks with incorrect request hashes. As a result the other execution clients rejected these blocks and created a network split in the testnet. A compounding issue was that the majority of nodes on the network followed the incorrect chain and so the network couldn’t finalise since the consensus clients got stuck in a ‘syncing’ loop since they didn’t have enough peers on their valid chain. The testnet spent two weeks running without finality but was finally recovered after efforts across validators to re-sync to the valid chain. But with a backlog of validators who had been force exited due to the chain issues the queue filled up for the next 1.5 years! This meant that the testnet became unusable for Pectra testing — since the core updates in this require validator activations and exits.

What’s more after the Pectra upgrade was activated on Sepolia there were issues there too 😬. Although the testnet never lost finality and did continue to produce blocks, there were 6.5hours of empty blocks due to a configuration with the Sepolia’s permissioned deposit contract (not something that could happen on the mainnet since it’s a permissionedless deposit contract). As developers raced to fix the issue an attacker, for unknown reasons, was pushing transactions through that kept triggering the issue so that was an additional layer of challenge.

And whilst Sepolia was back up and running and able to be used by developers for their testnet activities, Holešky had become unusable for validator and staking testing — a necessary part of the Pectra journey. As a result, a brand new testnet was born … Hoodi!

Launched on March 17th and slated for a Pectra upgrade on March 26th, Hoodi is the newest Ethereum testnet and intended to be the long-lived testnet for validator level playground activities. Sepolia will remain the long-lived testnet for EVM, smart contract, and dApp level testing.

Testnet Naming

And one question that you might have by now is what all these testnets are named after?

Many are named after subway/tube/railway stations which share a postcode with the chainID of the upgrade!

Holešky is a station in Prague with a chain ID and postcode of 17000, Hoodi is a station in Bengaluru, India, Ropsten and Rinkeby are subway stations in Stokholm, Kovan is a metro station in Sinagpore and Goerli is a train station in Berlin.

Some are named after areas that the core ethereum devs grew up e.g Sepolia is in Athens, Greece.

And the pre-Merge era testnets had very varied naming; everything from a deep sea trench (Aleut), representations of the human skull (Calaveras), precious gems (Sapphire, Onyx etc), an art style (Rayonism), subway stations (Schlesi, Spadina, etc), favourite areas of the devs (Baikal and Pymont) , pottery styles (Kintsugi) and even after an amusement park (Prater).

Using a Testnet

If you’re a developer looking to test your product or service, or at the infra level of the protocol and wanting to ensure you have your validator config set up, then you can connect to a testnet by specifying the relevant chain information; metadata like the chainID e.g 560048, chain name e.g Hoodi as well as specs like the genesis validator root etc

All the Hoodi specs can be found here: https://github.com/eth-clients/hoodi

Metamask config for adding a new network (mainnet or testnet)

Each testnet has its own tokens that are used for transfers and to pay gas — these tokens are worthless though. One Sepolia ETH =/= mainnet ETH. This is practice money. Think Monopoly paper money vs actual notes.

Hoodi ETH has the ticket HodETH and Sepolia ETH is SepETH.

You can get these testnet tokens from websites called faucets. In some you input your testnet address and they will send a set amount, in others you have ‘mine’ it but this doesn’t involve any work, just waiting for a while as testnet assets accumulate.

https://hoodi-faucet.pk910.de/#/mine/aac4c626-c095-4607-ae7f-9389c6e2bd5c

In others you complete tasks to earn testnet tokens:

https://hoodi-faucet.pk910.de/#/mine/aac4c626-c095-4607-ae7f-9389c6e2bd5c

And if you want to look at what’s happening on each testnet then you open up an explorer just as you would on the mainnet:

https://sepolia.etherscan.io/tx/0x53f10975a514e37562e79351e8e7cc0a9c0fdad7be2e1ff12b365d9f833cb277

This shows you what transactions are happening, what blocks are being produced and allows you to check whether your smart contract implementation is working as expected.

And that’s what the testnets are for! Practicing for mainnet activity, ensuring upgrades are ready to be put on the main chain and for testing out your new blockchain-based product and service.

Originally published at https://www.linkedin.com.

--

--

No responses yet