The goerli fork finalized! :D
After the fix was patched in, the validators came back online and the chain started finalizing again. The MEV circuitbreaker automatically disables and mev-blocks have started flowing through as well.
Yay client diversity!
The Goerli testnet will merge in the next ~2 days, this will be the last testnet to merge before mainnet.
If you are running a Goerli node, please update and follow the numerous guides to ensure we can have a smooth merge.
More information here:
Mainnet-Shadow-Fork-4 looks perfect! All clients went through the transition without a hitch. Only erigon missing (unrelated sync issues, we'll know in a bit if its synced to head as expected)
We finalized and just keep chugging!
#TestingTheMerge
After 4 days of PoW, merge-devnet-5 hit TTD today. The chain continued finalizing post TTD, as expected. This means the merge was successful.
We ran a few zombie miners. Miners ran older versions that don't know about TTD and just continue mining post TTD. No issues were found.
merge-devnet-5 has been launched. The beaconchain genesis happens at 4PM UTC and the PoW chain has already been launched. The TTD has been set to be really high to allow everyone to join pre-merge.
Tooling can be found here:
The merge pandas have arrived!
mainnet-shadow-fork-1 hit TTD ~half an hour ago. We've been finalizing and producing blocks!
We quickly noticed some seemingly minor issues with Nethermind and Besu(triage ongoing). Erigon is currently syncing to head, status update later.
Wondering what the
#TestingTheMerge
team has been up to?
The aim of the Kiln merge testnet was to allow the community to practice running their nodes, deploying contracts, testing infrastructure, etc. We hope it's helping the community get a sense of the post merge world!
Ropsten beacon chain is live!
We've finalized as expected and the chain is chugging along till the un-announced TTD.
Users can join the chain and practice running their nodes!
Initial docs:
If you make docs/vids/etc do tag me and
#TestingTheMerge
Wondering what the
#TestingTheMerge
team has been up to?
The aim of the Kiln merge testnet was to allow the community to practice running their nodes, deploying contracts, testing infrastructure, etc. We hope it's helping the community get a sense of the post merge world!
We managed to get a testnet up and running with a total of 12 combinations of execution and consensus clients! Expect some refining and many more testnets till the merge! - wagmi.
Huge props to
@protolambda
and all the client teams for their efforts this week :D
#Ethereum
This was the first shadow fork where every client combination survived the transition and managed to stay in sync afterwards. We're making real progress here!
Sepolia merged successfully!
After some config issues, the chain is finalizing. There were no client related issues. 1 EF node had a hiccup during the transition, but it self healed without intervention. Of a possible ~95% participation rate, we are generally seeing ~95%.
I wanted to share some thoughts on the events of the Sepolia merge. I speak for myself, not necessarily the rest of
@sigp_io
. Needless to say, it was less than ideal and we will be extra vigilant moving forward. I've also seen some understandable concerns from the community:
1/6
Goerli has successfully upgraded to Shapella! 🦉
We had some validators running older versions of clients, once that was fixed the attestation rate went back up and we are currently finalizing!
#GoerliShapella
Mainnet comes next!
Blobs are live on Ethereum Mainnet!
The Dencun fork finalized without issues and the network has been running stably since then. We can see healthy blob propagation statistics (expect a deeper analysis over the next weeks).
Congrats to all the client teams and contributors!
I made my first post about a potential testing path to figure out gas limit increases:
We should be doing this systematically and figure out our constraints, current limits and projected limits before committing to an increase.
As we move closer to shipping Dencun on Ethereum, let's have a look at the latest test results:
Goerli-shadowfork-1 went live recently. Its a 300 node shadowfork (largest public one to date) with almost every client combo as they are on mainnet
Welcome to the world
#Holesky
:D
The largest public testnet we've had to date!
FYI: Holešovice has two train stations, fits that we had to launch the testnet twice :D
photo credits:
@skylenet
Let's bring
@EFDevcon
to Namma Bengaluru, India ! :D
The proposal for Devcon VII is now live! Check it out and share it if you want to enjoy DevCon with a Dosa and amazing weather!
@devfolio
@ETHIndiaco
Another day, another bug! All hail the
#Kintsugi
testnet fuzzer. Thread.
So as you might remember from my last thread, the fuzzer created a block which uncovered two separate issue in the besu and nethermind code for verifying payload as well as the optimistic sync code
Time for devnet updates again! :D
We had a sepolia shadowfork this week, this shadowfork successfully added EIP-4844 support to sepolia with a subset of clients!
We're going to monitor the chain over the next few weeks to make sure no client pairs go out of sync. We'd hope that community members raise alarms if they see dapps/tooling not work as expected! Sync nodes in weird ways to find bugs! Send txs!
Help with
#TestingTheMerge
Top to bottom: Geth, Nethermind,Besu(with lighthouse,teku)
Left to right: Prysm,Lighthouse, Teku, Nimbus,Lodestar
Join us on Kintsugi:
#TestingTheMerge
Not only is Ropsten the first existing testnet to get merged, its also the first testnet where every client team is running an equal part of the network. That's at least a dozen unique ways of setting up a node!
A hearty congratulations to every client team on a great merge! :D
Goerli forked and blobs are now enabled on the testnet!
We're debugging a client issue right now, we should have more info in a bit. Expect to hear more later today and a deeper dive at ACD tomorrow!
The Holešovice (Holesky) testnet is planned for launch roughly on Sept 15th(Merge day!). We've had 2 coordination calls and the testnet aims to give client teams a platform to test clients at a scale larger than mainnet and for home stakers to test their setups without risks. 1/n
The Shanghai+Capella upgrade is going full steam ahead! The first public withdrawals testnet is launching 1st of Feb at 15 UTC.
All info here:
#TestingTheWithdrurge
The Zhejiang public testnet is going live tomorrow (1st of Feb 15:00 UTC, 2023). Shanghai+Capella will be triggered 6 days later (at epoch 1350). You will be able to deposit validators, practice BLS change and exit without risk. All links are here:
merge-devnet-5 has been launched. The beaconchain genesis happens at 4PM UTC and the PoW chain has already been launched. The TTD has been set to be really high to allow everyone to join pre-merge.
Tooling can be found here:
The Ropsten testnet hit TTD at ~16:00 UTC (~2h after the planned time, great accuracy for PoW standards!). The chain was at ~99.2% participation rate with healthy proposals and sync committee performance - Pretty much the perfect beacon chain to merge, easy to see what breaks!
Interested in estimated timelines of all L2s here. EIP-4844 is hitting L1 testnets soon, and more different L2 testruns are needed.
What would be a safe timeframe between testnets and mainnet L1 4844?
The Ethereum mainnet fork is scheduled for 22:27:35 UTC on Apr. 12, 2023!
Don't forget to update all of your nodes! This includes the EL (geth/nether./erigon/besu..), CL beacon(lighth./nimbus/prysm/lodestar/teku),CL validator and mev-boost!
Update the host OS while you're at it
It's happening 🎊
Shapella is scheduled on mainnet for epoch 194048, scheduled for 22:27:35 UTC on Apr. 12, 2023 📆
Client releases compatible with the upgrade are listed in the announcement below 👇
Does this mean there were no bugs? Almost..
While we have proposals (vital for consensus), some client pairs timeout while building a block and propose with 0 transactions in them. This would affect the throughput of the chain. We saw this in shadow forks too! Fixes incoming!
Announcing EIP-7665, Adding the EXTSELFDESTRUCT opcode to Ethereum. This would help the fight against state growth and allow us to perform the verkle transition in a matter of minutes.
@lightclients
and I are hoping that the EIP gets included for Electra
Time flies quickly in the crypto sphere. A year ago today
@protolambda
showed me how to setup my first consensus layer testnet, now we've even got merge testnets! If you want to help with merge testnets or any other DevOps tasks, join us at the EF!
My (personal) 2c wrt
#Ethereum
testnest:
- Fork Ropsten into merge, deprecate (no more forks)
- Fork Sepolia into merge, recommend as new testnet
- Fork Goerli into merge, maintain as legacy testnet
- Not fork Rinkeby into merge, deprecate (no more forks)
merge-devnet-2 was launched yesterday and has been running well! We'd love to have people come test it with us!
@vdWijden
has created an awesome doc with ideas and links to resources here:
We found 2 non-critical bugs that didn't stop finality, both were patched really quickly by client teams. I'm really glad we're looking at optimization bugs rather than critical bugs.
Holesky is happening soon! We crowdsourced requests for running genesis validators and created a genesis state that's 1,460,000 validators: Roughly 2x mainnet! Genesis will happen in less than a month :D
Holesky public testnet genesis file has been generated, and merged into main branch of .
Launch date Sept/15, 2023, 14:00 UTC
Chain ID-17000 (zip code of Holešovice).
The genesis will have 1,460,000 validators. Our biggest public network to date.
The releases for Goerli, the last testnet merge, are out!
Please make sure your node is up to date and configured properly!
Some config tips and common pitfalls can be found here:
#TestingTheMerge
📢📢📢 Goerli/Prater Merge Announcement 📢 📢📢
Prater will run through the Bellatrix upgrade on August 4th, and merge with Goerli between August 6-12th: if you run a node or validator, this is your last chance to go through the process before mainnet 🚨
Tune in to ACD tomorrow for a full incident report. But I do want to mention that we went from fork -> issue -> triage -> fix -> finality in under 4h. The debugging apparatus has gotten great!
To anyone wondering how to perform local shadowforks, you can do so with a single line command now!
We made some modifications across the stack to make it easier to pull a snapshot, run the genesis tools and get a local shadowfork in record time (for Holesky)
Its the shadowfork time of the year again :D
We had a great goerli shadowfork yesterday (goerli-sf-0)!
This forked goerli and enabled the Dencun upgrade.
You can find the explorer here:
#TestingTheSurge
We launched a website :D
will now contain blog posts on topics we find interesting, a summary of all the tools we maintain and more(links to services we host is a WIP)!
Client releases are out! This is the final step before the merge goes live on Ethereum. The first part of The Merge happens on the 6th of Sept in the Beaconchain, called Bellatrix. The full transition will happen ~15th Sept!
Update your nodes now!
This was the first time we attempted a mainnet-shadow-fork, we were expecting to learn a lot from the transition! The next week or so would be spent with sync tests against this fork and trying to trigger more edge cases.
We plan on repeating it next week, for advanced users ;)
𝗕𝗹𝗼𝗯𝘀 𝗮𝗿𝗲 𝗹𝗶𝘃𝗲 𝗼𝗻 𝗘𝘁𝗵𝗲𝗿𝗲𝘂𝗺! 🐡🐡🐡
Cheers to the EF team for smoothly delivering the long-awaited upgrade. ️
Time to celebrate with some Dencun Donuts! 😋🍩
Are you interested in setting up a robust monitoring system for your Ethereum node?
Have a look at the guide from
@Kiln_finance
:
Most of it is overkill for home stakers, but extremely important for node operators! Either ways, peek behind the curtain :D
With the help of the community, we hit TTD and the participation rate dropped by ~13%. We began looking at the missing indexes and knocked on some doors. A large % of the drop was from a config issue on the Nimbus team's nodes, that was easy fixable.
The last missing percentage points are explained by a bug found by the nethermind team shortly before the ropsten merge. Thankfully a simple restart fixed the issue.
Few nodes might have failed on race condition during the transition. Just before Ropsten merge we were reviewing transition on a call and found out that this can potentially happen. Here is the error log. If it happened to you simple restart fixed the issue on our nodes.
We're happy to open source Attacknet! We've been playing with this tool behind the scenes since Nov and have used it for Dencun testing!
The ability to control network latency in certain network layouts will definitely help us on the path to peerDAS.
Attacknet, a tool we collaborated with
@trailofbits
on is out! It gives us the ability to perform chaos engineering on local devnets, allowing us to simulate edge cases before they happen on mainnet.
Find more info here:
The remaining missing participants are from a config issue in the besu team's nodes that affected just the nimbus CL. The EF nimbus-besu node continues to work fine, reinforcing that it isn't a bigger issue.
We had a misconfiguration in the el genesis file and that led to the holesky network improperly launching. Some validators manually fixed the config and were able to start the chain, but not enough for the network to finalize.
Holesky launch update!
Due to a misconfiguration in the ExtraData field (applied to EL configs but not to CL ones),
#Holesky
didn't initiate properly.
A consensus has been reached among the EF DevOps and client teams to relaunch a week from now.
The underlying PoW testnet had multiple forks, so different beacon node detected different terminal block hashes. The chains however agreed on a block hash and moved ahead as expected, the chain is finalizing and we had no downtime with 0 intervention. Great test overall! :)
The kaustinen testnet is now live...again!
Kaustinen is a verkle testnet. This time with proofs in blocks that conform to the new consensus spec:
Find tooling links here:
Updates from testing land!
Dencun-devnet-8 is live! Its the next iteration in devnets, aimed to allow clients to test interoperability with the latest spec
Is anyone still reliant on Goerli for testing? If so, please move to a supported testnet!
Reach out if you need help moving.
Sepolia -> Dapps
Holesky -> Large validators
Ephemery -> Short term validator tests
Participation rate did drop, but we are still well above the minimum required for finality. The missing % needs to be 0 before we're going to ship the merge!
Introducing the new testing tool on the block: Assertoor
As the name suggests, it asserts behavior on a network. Imagine an end-to-end integration testing tool thats built to support client interop testing
Our newest blog post introduces Assertoor, a new end-to-end, cross-client integration testing tool that operates at a higher abstraction level than Hive.
Check out how it works and how we're using it to do automated testing on full scale ethereum testnets:
We're seeing a healthy number of blobs submitted to the network. You can expect deeper analysis over the next days. We'll be relying heavily on Xatu for the data:
Goerli forked and blobs are now enabled on the testnet!
We're debugging a client issue right now, we should have more info in a bit. Expect to hear more later today and a deeper dive at ACD tomorrow!
Another small difference is that this shadow fork used the develop/unstable branch of every client, so we aren't using merge branches anymore. This is the code that will make its way into releases.
If you ever wondered how we setup test network, what tools exist or what hidden dragons lie in the darkness, come for our workshop at
@ETHBerlin
:D
Pro tip: We'll make sure to show you a workflow on how you can test your EIPs with a local testnet, takes just one command!
*
@parithosh_j
and
@BarnabasBusa
, both devops engineers at
@ethereum
, will be running a workshop diving deep into the extensive tooling they use for single-host and multi-host testnets, aiming to showcase preferred options for various use cases.
Reminder that the Goerli network is deprecated and will not be supported for the future. Please make preps to move over your testing to Ephemery, Holesky or Sepolia networks.
Ephemery-> small validator testing
Holesky-> long term, large validator testing
Sepolia-> Dapp testing
Estimating TTD for merge devnets is quite hard since we have no idea what hashrate to expect, its a bit easier if we control all the miners.
There seems to be some external miners on Kiln, it'd be great if they could reach out to us so we can work together :)
#TestingTheMerge
The beaconchain genesis will be Friday at 14:00 UTC. The PoW chain has already started and we expect the PoW phase to last ~a week. Deploy your smart contracts now to know how they behave pre and post merge!
@dimsomedim
@protolambda
The devnets all forked at <256 epochs, meaning the network was too new to even hit one cycle of SLOTS_PER_HISTORICAL_ROOT. So we never triggered this issue in devnets. Shadowforks are more of an EL stress test, underneath they're just fresh CL devnets - so same reason.
We'd like to tear down the Zhejiang testnet on Wednesday (April 19th). Please migrate any infra that still runs there before then. The testnet was meant to test the Shapella upgrade and is now considered deprecated as the upgrade is live on mainnet.
Thank you for testing!
- Get intermediate state roots
- Trace block(by RLP)
- A way to pause/flush state in a client(Prevent pruning)
- Get Block receipt RLP
- PR in clients to dump dump invalid blocks/non-deserializable stuff received in gossip
- Visualize when merge is successful!!
Earlier shadowforks required us to sync and run a set of scripts to generate the forked network. We realized this wouldn't scale well with Verkle, as shadowforks would be one of the primary testing tools.
We were able to use
@KurtosisTech
to switch to local and automatic sfs
EF DevOps' largest testnet (in terms of validator count) has launched successfully this morning. The aim was to have a network run at mainnet validator set in order to test BLS key changes. Huge thanks to
@beaconcha_in
guys to help us get up and running with the explorer.
We reused the mainnet deposit contract with a new fork ID. This means that every mainnet deposit needs to be processed and listed as invalid on the shadow fork. This huge computation triggered some edge cases in some clients, the good news is that the network still chugged along.
Interested in testnets and what tools we use? Check out my talk at
#DevConBogota
! I'll try to highlight some of the tooling we built during the merge testing efforts, We built most of it for reuse by the community!: 🧵