Close Menu
Altcoin ObserverAltcoin Observer
  • Regulation
  • Bitcoin
  • Altcoins
  • Market
  • Analysis
  • DeFi
  • Security
  • Ethereum
Categories
  • Altcoins (1,979)
  • Analysis (2,144)
  • Bitcoin (2,743)
  • Blockchain (1,659)
  • DeFi (1,965)
  • Ethereum (1,970)
  • Event (66)
  • Exclusive Deep Dive (1)
  • Landscape Ads (2)
  • Market (2,009)
  • Press Releases (9)
  • Reddit (1,392)
  • Regulation (1,880)
  • Security (2,617)
  • Thought Leadership (3)
  • Videos (43)
Hand picked
  • Algorand Foundation Convenes Humanitarian Aid Payments Council
  • The tendency of Bitcoin accumulation shows signs of weakening, what does that mean?
  • Why is the crypto broken down today? – September 26, 2025
  • Kraken in talks with the strategic investor at $ 20 billion Valation: BBG
  • Matrixport obtains a license for financial services in Gelephu Mindfulness City from Bhutan
We are social
  • Facebook
  • Twitter
  • Instagram
  • YouTube
Facebook X (Twitter) Instagram
  • About us
  • Disclaimer
  • Terms of service
  • Privacy policy
  • Contact us
Facebook X (Twitter) Instagram YouTube LinkedIn
Altcoin ObserverAltcoin Observer
  • Regulation
  • Bitcoin
  • Altcoins
  • Market
  • Analysis
  • DeFi
  • Security
  • Ethereum
Events
Altcoin ObserverAltcoin Observer
Home»Ethereum»Ethereum Execution Layer Specification | Ethereum Foundation Blog
Ethereum

Ethereum Execution Layer Specification | Ethereum Foundation Blog

September 3, 2024No Comments
Share Facebook Twitter Pinterest LinkedIn Tumblr Reddit Telegram Email
Upload Df8b1c7d4bb7b7fafb10ce70cefced02.png
Share
Facebook Twitter LinkedIn Pinterest Email


tl;dr

  • EELS is a reference implementation of the Python runtime layer.
  • It is up to date with the main network.
  • He completes the tests and passes the existing ones.
  • Below is an example of an EIP implemented in EELS.

Introduction

After more than a year of development, we are pleased to publicly present the Ethereum Execution Layer Specification (affectionately known as EELS.) EELS is a Python reference implementation of the core components of an Ethereum runtime client focused on readability and clarity. Designed as a spiritual successor to the Yellow paper it’s more programmer friendly and up to date with post-merge forks, EELS can populate and run state tests, track mainnet1and is a great place to prototype new EIPs.

EELS provides full protocol snapshots at every fork, including upcoming ones, making it much easier to follow than EIP (which only offer modifications) and production clients (which often mix multiple forks in the same code path.)

History

As of 2021, as a project of the ConsenSys Quilt Team and the Ethereum Foundation, the eth1.0 specification (as it was then called) was inspired by the sheer frustration of having to decipher the cryptic notation of the Yellow Book (Figure 1) to understand the specific behavior of an EVM instruction.

Screenshot of formulas 2, 3 and 4 from the Yellow Book
Figure 1. arcane runes describing the basis of the blockchain paradigm

Building on success Consensus Layer Specificationwe set out to create a similar executable specification for the execution layer.

Here

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

It’s just Python

Hopefully a side-by-side comparison of the Yellow Book and the equivalent EELS code can show why EELS is a valuable addition:

Operation code less than (LT)

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

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) EELS EVM Instruction

While Figure 2 could be digestible for academics, Figure 3 is definitely more natural for programmers.

Here is a video step by step procedure to add 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 whole Ethereum/tests Next, we also have a selection of py test tests.

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

Show differences

Having snapshots at each fork is very useful for a smart contract developer who wants to see the specifics of how an EVM instruction works, but is not very useful for client developers themselves. For them, EELS can show the differences between forks:

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

Figure 4. a difference between homestead and DAO fork

An example of EIP

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

Screenshot of the EIP-6780 specifications section

Figure 5. EIP-6768 Standard Specification Section

First, we present a contracts_created 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 self-destruction So this only works for the contracts mentioned in contracts_created:

-    # 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 basic EIPs, the first place EIP authors go to prototype their proposals, and the best possible reference on how Ethereum works.

If you would like to contribute or prototype your EIP, join us on the #features channel or retrieve a number from our deposit.



Source link

Share. Facebook Twitter Pinterest LinkedIn Tumblr Email
Previous ArticleCryptocurrency Analyst Predicts Shiba Inu to Surge 1,000% to $0.00014
Next Article Blockchain MMO UGC Scape platform unveiled

Related Posts

Ethereum

Fusaka Testnet ad | Ethereum Foundation Blog

September 26, 2025
Ethereum

OTC Whale buys 60,333 Ethereum for $ 238.7 million despite the market sale

September 26, 2025
Ethereum

Ethereum oi has suffered from its largest cleaning since the beginning of 2024 – Details

September 26, 2025
Add A Comment
Leave A Reply Cancel Reply

Single Page Post
Share
  • Facebook
  • Twitter
  • Instagram
  • YouTube
Featured Content
Event

Verifying Intelligence: Shaping the Future of Verifiable AI at TOKEN2049 Singapore

September 24, 2025

Singapore, September 24, 2025 — House of ZK and Boundless, in partnership with Google Cloud,…

Event

Cyprus to Host Europe’s Premier Fintech and Crypto Gathering – Wiki Finance EXPO 2025

September 19, 2025

Limassol, Cyprus – September 24, 2025 – The financial world’s spotlight turns to Limassol as…

1 2 3 … 55 Next
  • Facebook
  • Twitter
  • Instagram
  • YouTube

Why is the crypto broken down today? – September 26, 2025

September 26, 2025

The Altcoin season has just moved – the crowd of aethir traders, mantle, hyperliquid. Who is missing?

September 26, 2025

Bitwise files for First US Spot Hype ETF – Interior details!

September 26, 2025
Facebook X (Twitter) Instagram LinkedIn
  • About us
  • Disclaimer
  • Terms of service
  • Privacy policy
  • Contact us
© 2025 Altcoin Observer. all rights reserved by Tech Team.

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

bitcoin
Bitcoin (BTC) $ 109,284.28
ethereum
Ethereum (ETH) $ 4,013.04
tether
Tether (USDT) $ 1.00
xrp
XRP (XRP) $ 2.78
bnb
BNB (BNB) $ 953.81
solana
Solana (SOL) $ 199.85
usd-coin
USDC (USDC) $ 0.999857
staked-ether
Lido Staked Ether (STETH) $ 4,010.84
dogecoin
Dogecoin (DOGE) $ 0.230586
tron
TRON (TRX) $ 0.336801