Ethereum Execution Layer Specifications¶
Welcome to the documentation for the Ethereum Execution Layer Specifications (EELS), the executable Python specification of Ethereum’s Execution Layer.
EELS is implemented as a readable executable reference in Python that serves as a source of truth for developers across the Ethereum ecosystem and underpins the generation of test vectors used to ensure Execution Layer client implementations are spec-compliant.
EELS is a collaborative effort between Ethereum Improvement Proposals (EIP) authors, protocol researchers, prototype implementers and client developers, maintained in ethereum/execution-specs by the STEEL Team.
Where to Start¶
-
Getting Started
Install the repository and run your first command.
First time user.
-
Writing Specs
Implement an EIP as an executable Python specification.
For EIP authors and researchers.
-
Writing Tests
Write test cases that verify EIP implementations across clients.
For EIP authors and test devs.
-
Running Tests
Generate JSON fixtures or run tests against an execution layer client.
For client developers.
-
Read the Specs
Browse the rendered Python specifications for the current fork and EIP.
-
Test Case Reference
Browse all test cases organized by fork and EIP.
Responsible Disclosure of Vulnerabilities¶
Reporting a Vulnerability
Care is required when adding PRs or issues for functionality that is live on Ethereum mainnet. Please report vulnerabilities and verify bounty eligibility via the bug bounty program.
- Please do not create a PR with a vulnerability visible.
- Please do not file a public ticket mentioning the vulnerability.