Thursday, June 4, 2026
The BLOCKCHAIN Page
No Result
View All Result
  • Home
  • Cryptocurrency
  • Blockchain
  • Bitcoin
  • Market & Analysis
  • Altcoins
  • DeFi
  • Ethereum
  • Dogecoin
  • XRP
  • Regulations
  • NFTs
The BLOCKCHAIN Page
No Result
View All Result
Home Ethereum

Ethereum Execution Layer Specification | Ethereum Foundation Blog

by admin
August 30, 2023
in Ethereum
0
Ethereum Execution Layer Specification | Ethereum Foundation Blog
0
SHARES
9
VIEWS
Share on FacebookShare on Twitter


tl;dr

  • EELS is an execution layer reference implementation in Python.
  • It is updated with mainnet.
  • It fills assessments, and passes current ones.
  • There’s an instance of an EIP applied in EELS beneath.

Introduction

After greater than a 12 months in improvement, we’re happy to publicly introduce the Ethereum Execution Layer Specification (affectionately referred to as EELS.) EELS is a Python reference implementation of the core parts of an Ethereum execution shopper centered on readability and readability. Supposed as a religious successor to the Yellow Paper that is extra programmer pleasant and up-to-date with post-merge forks, EELS can fill and execute state assessments, comply with mainnet1, and is a good place to prototype new EIPs.

EELS gives full snapshots of the protocol at every fork—together with upcoming ones—making it a lot simpler to comply with than EIPs (which solely suggest modifications) and manufacturing purchasers (which frequently combine a number of forks in the identical codepath.)

Historical past

Starting in 2021, as a undertaking of ConsenSys’ Quilt crew and the Ethereum Basis, the eth1.0-spec (because it was identified then) was impressed by the sheer frustration of getting to decipher the cryptic notation of the Yellow Paper (Figure 1) to grasp the particular habits of an EVM instruction.

Screenshot of formulas 2, 3, and 4 from the Yellow Paper
Determine 1. arcane runes describing the idea of the blockchain paradigm

Drawing on the profitable Consensus Layer Specification, we got down to create the same executable specification for the execution layer.

Current

In the present day, EELS is consumable as a traditional Python repository and as rendered documentation. It is nonetheless a bit tough across the edges, and does not present a lot in the best way of annotations or English explanations for what varied items do, however these will include time.

It is simply Python

Hopefully a side-by-side comparability of the Yellow Paper and the equal code from EELS can present why EELS is a invaluable complement to it:

Less-than (LT) opcode

Determine 2. Much less-than (LT) EVM instruction from Yellow Paper

def less_than(evm: Evm) -> None:
    # STACK
    left = pop(evm.stack)
    proper = pop(evm.stack)

    # GAS
    charge_gas(evm, GAS_VERY_LOW)

    # OPERATION
    end result = U256(left < proper)

    push(evm.stack, end result)

    # PROGRAM COUNTER
    evm.laptop += 1

Determine 3. Much less-than (LT) EVM instruction from EELS

Whereas Figure 2 is perhaps digestible to lecturers, Figure 3 is indisputably extra pure to programmers.

This is a video walk-through of adding a simple EVM instruction if that is your form of factor.

Writing Assessments

It bears repeating: EELS is simply common Python. It may be examined like another Python library! Along with the whole ethereum/tests suite, we even have a number of pytest assessments.

With a bit assist from execution-spec-tests, any assessments written for EELS can be utilized to manufacturing purchasers!2

Displaying Variations

Having snapshots at every fork is nice for a sensible contract developer popping in to see the specifics of how an EVM instruction works, however is not very useful for shopper builders themselves. For them, EELS can show the variations between forks:

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

Determine 4. one distinction between homestead and the DAO fork

An Instance EIP

EIP-6780 is the primary EIP to get an EELS implementation supplied by the writer, Guillaume Ballet! Let’s have a look.

Screenshot of EIP-6780's specification section

Determine 5. EIP-6768’s specification part

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

 @dataclass
 class Setting:
     caller: Handle
     block_hashes: Listing[Hash32]
     origin: Handle
     coinbase: Handle
     quantity: 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 observe which contracts had been created in every transaction:

+    evm.env.created_contracts.add(contract_address)

Lastly, we modify selfdestruct so it solely works for contracts famous in created_contracts:

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

Future

We wish EELS to develop into the default option to specify Core EIPs, the primary place EIP authors go to prototype their proposals, and the very best reference for a way Ethereum works.

In the event you’re all for contributing or prototyping your EIP, be part of us on the #specifications channel or seize a difficulty from our repository.



Source link

Tags: BlogEthereumExecutionFoundationLayerSpecification
admin

admin

Recommended

Scaling generative AI with flexible model choices

Scaling generative AI with flexible model choices

2 years ago
Here’s When The Bitcoin Price Could Top According To Past Halving Cycles

Here’s When The Bitcoin Price Could Top According To Past Halving Cycles

2 years ago

Popular News

  • Protocol-Owned Liquidity: A Sustainable Path for DeFi

    Protocol-Owned Liquidity: A Sustainable Path for DeFi

    0 shares
    Share 0 Tweet 0
  • Cryptocurrency for College: Exploring DeFi Scholarship Models

    0 shares
    Share 0 Tweet 0
  • What are rebase tokens, and how do they work?

    0 shares
    Share 0 Tweet 0
  • What is Velodrome Finance (VELO): why it’s a next-gen AMM

    0 shares
    Share 0 Tweet 0
  • $10 XRP Price Envisioned By Fund Manager As Ripple Mounts Trillion-Dollar Payment Markets ⋆ ZyCrypto

    0 shares
    Share 0 Tweet 0

Latest

How to use ChatGPT: A beginner’s guide to mastering OpenAI’s chatbot in 2026

How to use ChatGPT: A beginner’s guide to mastering OpenAI’s chatbot in 2026

June 3, 2026
How I used a $170 sports watch as my training coach to help me avoid injuries

How I used a $170 sports watch as my training coach to help me avoid injuries

June 3, 2026

Categories

  • Altcoins
  • Bitcoin
  • Blockchain
  • Cryptocurrency
  • DeFi
  • Dogecoin
  • Ethereum
  • Market & Analysis
  • NFTs & Metaverse
  • Regulations
  • XRP

Follow us

Recommended

  • How to use ChatGPT: A beginner’s guide to mastering OpenAI’s chatbot in 2026
  • How I used a $170 sports watch as my training coach to help me avoid injuries
  • Ripple Targets Türkiye’s $200B Crypto Market With RLUSD Launch
  • Build 2026: Microsoft’s MDASH exits preview with 100+ specialized threat-hunting AI agents
  • XRP News: Ripple Expands RLUSD to Turkey, A Major Move to Boost XRPL Liquidity
  • About us
  • Privacy Policy
  • Terms & Conditions

© 2023 TheBlockchainPage | All Rights Reserved

No Result
View All Result
  • Home
  • Cryptocurrency
  • Blockchain
  • Bitcoin
  • Market & Analysis
  • Altcoins
  • DeFi
  • Ethereum
  • Dogecoin
  • XRP
  • Regulations
  • NFTs

© 2023 TheBlockchainPage | All Rights Reserved