Close Menu
    What's Hot

    Bitcoin ETFs Post $216 Million Net Inflow as Blackrock Offsets Outflows From Fidelity and Ark 21shares

    June 18, 2025

    We are sunsetting Studio | Ethereum Foundation Blog

    June 18, 2025

    Bitcoin Bet: Healthcare Firm Prenetics Invests $20M After Market Cap Drops 94%

    June 18, 2025
    Facebook X (Twitter) Instagram
    • bitcoinBitcoin(BTC)$104,256.000.12%
    • ethereumEthereum(ETH)$2,495.360.63%
    • tetherTether(USDT)$1.000.01%
    • rippleXRP(XRP)$2.15-1.06%
    • binancecoinBNB(BNB)$641.80-0.42%
    • solanaSolana(SOL)$145.39-1.13%
    • usd-coinUSDC(USDC)$1.000.01%
    • tronTRON(TRX)$0.271480-0.75%
    • dogecoinDogecoin(DOGE)$0.167892-0.09%
    • staked-etherLido Staked Ether(STETH)$2,488.120.27%
    • cardanoCardano(ADA)$0.60-2.47%
    • wrapped-bitcoinWrapped Bitcoin(WBTC)$104,219.000.24%
    • HyperliquidHyperliquid(HYPE)$38.83-0.60%
    • Wrapped stETHWrapped stETH(WSTETH)$3,014.180.89%
    • suiSui(SUI)$2.79-1.72%
    • bitcoin-cashBitcoin Cash(BCH)$461.27-0.96%
    • leo-tokenLEO Token(LEO)$9.17-0.51%
    • chainlinkChainlink(LINK)$12.84-0.96%
    • stellarStellar(XLM)$0.249186-1.48%
    • avalanche-2Avalanche(AVAX)$18.30-0.73%
    • the-open-networkToncoin(TON)$2.92-1.12%
    • whitebitWhiteBIT Coin(WBT)$49.332.16%
    • USDSUSDS(USDS)$1.000.01%
    • shiba-inuShiba Inu(SHIB)$0.000012-0.05%
    • WETHWETH(WETH)$2,494.960.67%
    • Wrapped eETHWrapped eETH(WEETH)$2,673.730.82%
    • litecoinLitecoin(LTC)$84.531.06%
    • Binance Bridged USDT (BNB Smart Chain)Binance Bridged USDT (BNB Smart Chain)(BSC-USD)$1.000.03%
    • hedera-hashgraphHedera(HBAR)$0.145578-2.21%
    • Ethena USDeEthena USDe(USDE)$1.000.09%
    • moneroMonero(XMR)$315.83-1.62%
    • polkadotPolkadot(DOT)$3.62-2.32%
    • bitget-tokenBitget Token(BGB)$4.25-3.39%
    • Coinbase Wrapped BTCCoinbase Wrapped BTC(CBBTC)$104,165.000.03%
    • uniswapUniswap(UNI)$7.410.49%
    • pepePepe(PEPE)$0.0000102.04%
    • Pi NetworkPi Network(PI)$0.54-2.13%
    • aaveAave(AAVE)$258.09-2.96%
    • daiDai(DAI)$1.000.05%
    • Ethena Staked USDeEthena Staked USDe(SUSDE)$1.180.06%
    • BittensorBittensor(TAO)$349.642.09%
    • BlackRock USD Institutional Digital Liquidity FundBlackRock USD Institutional Digital Liquidity Fund(BUIDL)$1.000.00%
    • okbOKB(OKB)$47.89-2.55%
    • crypto-com-chainCronos(CRO)$0.0914623.77%
    • aptosAptos(APT)$4.38-1.25%
    • internet-computerInternet Computer(ICP)$5.04-1.45%
    • nearNEAR Protocol(NEAR)$2.130.25%
    • Jito Staked SOLJito Staked SOL(JITOSOL)$176.11-1.06%
    • sUSDSsUSDS(SUSDS)$1.060.02%
    • ethereum-classicEthereum Classic(ETC)$16.34-0.66%
    Coin AdrenalineCoin Adrenaline
    • Home
    • Featured Projects
    • Crypto News
      • Bitcoin
      • Ethereum
    • About Us
    • Get In Touch
    • bitcoinBitcoin(BTC)$104,256.000.12%
    • ethereumEthereum(ETH)$2,495.360.63%
    • tetherTether(USDT)$1.000.01%
    • rippleXRP(XRP)$2.15-1.06%
    • binancecoinBNB(BNB)$641.80-0.42%
    • solanaSolana(SOL)$145.39-1.13%
    • usd-coinUSDC(USDC)$1.000.01%
    • tronTRON(TRX)$0.271480-0.75%
    • dogecoinDogecoin(DOGE)$0.167892-0.09%
    • staked-etherLido Staked Ether(STETH)$2,488.120.27%
    • cardanoCardano(ADA)$0.60-2.47%
    • wrapped-bitcoinWrapped Bitcoin(WBTC)$104,219.000.24%
    • HyperliquidHyperliquid(HYPE)$38.83-0.60%
    • Wrapped stETHWrapped stETH(WSTETH)$3,014.180.89%
    • suiSui(SUI)$2.79-1.72%
    • bitcoin-cashBitcoin Cash(BCH)$461.27-0.96%
    • leo-tokenLEO Token(LEO)$9.17-0.51%
    • chainlinkChainlink(LINK)$12.84-0.96%
    • stellarStellar(XLM)$0.249186-1.48%
    • avalanche-2Avalanche(AVAX)$18.30-0.73%
    • the-open-networkToncoin(TON)$2.92-1.12%
    • whitebitWhiteBIT Coin(WBT)$49.332.16%
    • USDSUSDS(USDS)$1.000.01%
    • shiba-inuShiba Inu(SHIB)$0.000012-0.05%
    • WETHWETH(WETH)$2,494.960.67%
    • Wrapped eETHWrapped eETH(WEETH)$2,673.730.82%
    • litecoinLitecoin(LTC)$84.531.06%
    • Binance Bridged USDT (BNB Smart Chain)Binance Bridged USDT (BNB Smart Chain)(BSC-USD)$1.000.03%
    • hedera-hashgraphHedera(HBAR)$0.145578-2.21%
    • Ethena USDeEthena USDe(USDE)$1.000.09%
    • moneroMonero(XMR)$315.83-1.62%
    • polkadotPolkadot(DOT)$3.62-2.32%
    • bitget-tokenBitget Token(BGB)$4.25-3.39%
    • Coinbase Wrapped BTCCoinbase Wrapped BTC(CBBTC)$104,165.000.03%
    • uniswapUniswap(UNI)$7.410.49%
    • pepePepe(PEPE)$0.0000102.04%
    • Pi NetworkPi Network(PI)$0.54-2.13%
    • aaveAave(AAVE)$258.09-2.96%
    • daiDai(DAI)$1.000.05%
    • Ethena Staked USDeEthena Staked USDe(SUSDE)$1.180.06%
    • BittensorBittensor(TAO)$349.642.09%
    • BlackRock USD Institutional Digital Liquidity FundBlackRock USD Institutional Digital Liquidity Fund(BUIDL)$1.000.00%
    • okbOKB(OKB)$47.89-2.55%
    • crypto-com-chainCronos(CRO)$0.0914623.77%
    • aptosAptos(APT)$4.38-1.25%
    • internet-computerInternet Computer(ICP)$5.04-1.45%
    • nearNEAR Protocol(NEAR)$2.130.25%
    • Jito Staked SOLJito Staked SOL(JITOSOL)$176.11-1.06%
    • sUSDSsUSDS(SUSDS)$1.060.02%
    • ethereum-classicEthereum Classic(ETC)$16.34-0.66%
    Coin AdrenalineCoin Adrenaline
    Home » Ethereum Execution Layer Specification | Ethereum Foundation Blog
    Ethereum

    Ethereum Execution Layer Specification | Ethereum Foundation Blog

    coinadrenalineBy coinadrenalineApril 19, 2025No Comments4 Mins Read
    Share
    Facebook Twitter LinkedIn Pinterest Email

    tl;dr

    • EELS is an execution layer reference implementation in Python.
    • It’s up to date with mainnet.
    • It fills tests, and passes existing ones.
    • There’s an example of an EIP implemented in EELS below.

    Introduction

    After more than a year in development, we’re pleased to publicly introduce the Ethereum Execution Layer Specification (affectionately known as EELS.) EELS is a Python reference implementation of the core components of an Ethereum execution client focused on readability and clarity. Intended as a spiritual successor to the Yellow Paper that’s more programmer friendly and up-to-date with post-merge forks, EELS can fill and execute state tests, follow mainnet1, and is a great place to prototype new EIPs.

    EELS provides complete snapshots of the protocol at each fork—including upcoming ones—making it much easier to follow than EIPs (which only propose changes) and production clients (which often mix multiple forks in the same codepath.)

    History

    Beginning in 2021, as a project of ConsenSys’ Quilt team and the Ethereum Foundation, the eth1.0-spec (as it was known then) was inspired by the sheer frustration of having to decipher the cryptic notation of the Yellow Paper (Figure 1) to understand the specific behavior of an EVM instruction.


    Figure 1. arcane runes describing the basis of the blockchain paradigm

    Drawing on the successful Consensus Layer Specification, we set out to create a similar executable specification for the execution layer.

    Present

    Today, EELS is consumable as a traditional Python repository and as rendered documentation. It’s still a bit rough around the edges, and doesn’t provide much in the way of annotations or English explanations for what various pieces do, but those will come with time.

    It’s just Python

    Hopefully a side-by-side comparison of the Yellow Paper and the equivalent code from EELS can show why EELS is a valuable complement to it:

    Less-than (LT) opcode

    Figure 2. Less-than (LT) EVM instruction from Yellow Paper

    def less_than(evm: Evm) -> None:
        # STACK
        left = pop(evm.stack)
        right = pop(evm.stack)
    
        # GAS
        charge_gas(evm, GAS_VERY_LOW)
    
        # OPERATION
        result = U256(left < right)
    
        push(evm.stack, result)
    
        # PROGRAM COUNTER
        evm.pc += 1
    

    Figure 3. Less-than (LT) EVM instruction from EELS

    While Figure 2 might be digestible to academics, Figure 3 is indisputably more natural to programmers.

    Here’s a video walk-through of adding a simple EVM instruction if that’s your kind of thing.

    Writing Tests

    It bears repeating: EELS is just regular Python. It can be tested like any other Python library! In addition to the entire ethereum/tests suite, we also have a selection of pytest tests.

    With a little help from execution-spec-tests, any tests written for EELS can also be applied to production clients!2

    Showing Differences

    Having snapshots at each fork is great for a smart contract developer popping in to see the specifics of how an EVM instruction works, but isn’t very helpful for client developers themselves. For them, EELS can display the differences between forks:

    Screenshot of the differences in the apply_fork function between homestead and the DAO fork

    Figure 4. one difference between homestead and the DAO fork

    An Example EIP

    EIP-6780 is the first EIP to get an EELS implementation provided by the author, Guillaume Ballet! Let’s take a look.

    Screenshot of EIP-6780's specification section

    Figure 5. EIP-6768’s specification section

    First, we introduce a created_contracts variable to the EVM with transaction-level scope:

     @dataclass
     class Environment:
         caller: Address
         block_hashes: List[Hash32]
         origin: Address
         coinbase: Address
         number: Uint
         base_fee_per_gas: Uint
         gas_limit: Uint
         gas_price: Uint
         time: U256
         prev_randao: Bytes32
         state: State
         chain_id: U64
    +    created_contracts: Set[Address]
    

    Second, we note which contracts were created in each transaction:

    +    evm.env.created_contracts.add(contract_address)
    

    Finally, we modify selfdestruct so it only works for contracts noted in created_contracts:

    -    # register account for deletion
    -    evm.accounts_to_delete.add(originator)
    -
    +    # Only continue if the contract has been created in the same tx
    +    if originator in evm.env.created_contracts:
    +
    +        # register account for deletion
    +        evm.accounts_to_delete.add(originator)
    +
    

    Future

    We want EELS to become the default way to specify Core EIPs, the first place EIP authors go to prototype their proposals, and the best possible reference for how Ethereum works.

    If you’re interested in contributing or prototyping your EIP, join us on the #specifications channel or grab an issue from our repository.

    Share. Facebook Twitter Pinterest LinkedIn Tumblr Email
    coinadrenaline
    • Website

    Related Posts

    We are sunsetting Studio | Ethereum Foundation Blog

    June 18, 2025

    EF-Supported Teams: Research & Development Update

    June 18, 2025

    Validated, staking on eth2: #6 – Perfect is the enemy of the good

    June 18, 2025

    $3,200 or $1,587 as 39-day range nears breakout

    June 18, 2025
    Add A Comment

    Comments are closed.

    Top Posts
    • Home
    • About us
    • Privacy Policy
    • Get In Touch
    © 2025 coinadrenaline.com. All Copyright Reserved.

    Type above and press Enter to search. Press Esc to cancel.