This repository contains the consensus specifications related to the Ethereum execution client, specifically the pyspec and specifications for network upgrades. The JSON-RPC API specification can be found in a separate repository.
Note: Starting with Paris, updates are no longer rolled out based on block numbers. Paris was enabled once proof-of-work Total Difficulty reached 58750000000000000000000. As of Shanghai (at 1681338455), upgrade activation is based on timestamps.
Some clarifications were enabled without protocol releases:
| EIP | Block No. |
|---|---|
| EIP-2681 | 0 |
| EIP-3607 | 0 |
The consensus specification is a python implementation of Ethereum that prioritizes readability and simplicity. It [will] accompanied by both narrative and API level documentation of the various components written in restructured text and rendered using Sphinx....
The Ethereum specification is maintained as a Python library, for better integration with tooling and testing.
Requires Python 3.8+
Building the documentation is most easily done through tox:
$ tox -e docThe path to the generated HTML will be printed to the console.
A live preview of the documentation can be viewed locally on port 8000 with the following command:
$ tox -e doc-autobuildThe Ethereum Execution Layer Specification code is licensed under the Creative Commons Zero v1.0 Universal.