Twitxy Saved
EthereumJS Verified account @EFJavaScript
⛽ Thread 1 — the 21,000-gas myth.

A plain ETH transfer was always 21,000 gas.
On Amsterdam, that number still exists — and it will still brick wallets.

Here's why. 🧵
EthereumJS Verified account @EFJavaScript Aug 25
Amsterdam just got a public playground. 🐻‍❄️

Platåberget — Glamsterdam's first public testnet — is live.
EthereumJS v10.1.3 is a close-to-ready 14-EIP Amsterdam preview.

JavaScript is just the easy on-ramp. The fork is the story.

🧵
View quoted post on X
EthereumJS Verified account @EFJavaScript

Replying to @EFJavaScript

Amsterdam splits gas into two dimensions:

• regular — execution (the old meter)
• state — creating new accounts, storage, code

You pay the *sum*.
The block is full when *either* dimension hits the limit.

eips.ethereum.org/EIPS/eip-8037
eips.ethereum.org EIP-8037: State Creation Gas Cost Increase Harmonization, increase and separate metering of state creation gas costs to mitigate state growth and unblock scaling

Replies

EthereumJS Verified account @EFJavaScript

Replying to @EFJavaScript

Wait — 21,000 is still there?

Yes. EIP-2780 just unpacks it:

12,000 sender / signature
3,000 touch the recipient
6,000 write value

That's regular gas only.
Creating the account is *runtime state* gas now.

eips.ethereum.org/EIPS/eip-2780
eips.ethereum.org EIP-2780: Resource-Based Intrinsic Transaction Gas Decompose the flat intrinsic transaction cost into explicit primitives priced to match the resources a transaction actually consumes
EthereumJS Verified account @EFJavaScript

Replying to @EFJavaScript

One extra wrinkle (EIP-7778):

totalGasSpent = what the sender pays
blockGasSpent = what fills the block
(refunds do *not* shrink the block)

On this transfer they match.
On SSTORE-heavy txs they won't.

Experimental — not production.
Next: Block-Level Access Lists.

[END OF THREAD ]