ATTENTION: The EIPs repository has recently undergone a separation of ERCs and EIPs. ERCs are now accessible at [https://github.com/ethereum/ercs][...]
The goal of the EIP project is to standardize and provide high-quality documentation for Ethereum itself and conventions built upon it. This repository tracks past and ongoing improvements to Ethereum[...]
The status page tracks and lists EIPs, which can be divided into the following categories:
- Core EIPs are improvements to the Ethereum consensus protocol.
- Networking EIPs specify the peer-to-peer networking layer of Ethereum.
- Interface EIPs standardize interfaces to Ethereum, which determine how users and applications interact with the blockchain.
- ERCs specify application layer standards, which determine how applications running on Ethereum can interact with each other.
- Meta EIPs are miscellaneous improvements that nonetheless require some sort of consensus.
- Informational EIPs are non-standard improvements that do not require any form of consensus.
**Before you write an EIP, ideas MUST be thoroughly discussed on Ethereum Magicians or Ethereum Research. Once c[...]
Please note that this repository is for documenting standards and not for help implementing them. These types of inquiries should be directed to the [Ethereum Stack Exchange](https://ethereum.stackexc[...]
If you would like to become an EIP Editor, please read EIP-5069.
The canonical URL for an EIP that has achieved draft status at any point is at https://eips.ethereum.org/. For example, the canonical URL for EIP-1 is https://eips.ethereum.org/EIPS/eip-1.
Consider any document not published at https://eips.ethereum.org/ as a working paper. Additionally, consider published EIPs with a status of "draft", "review", or "last call" to be incomplete drafts[...]
All pull requests in this repository must pass automated checks before they can be automatically merged:
- eip-review-bot determines when PRs can be automatically merged 1
- EIP-1 rules are enforced using
eipw
2 - HTML formatting and broken links are enforced using HTMLProofer2
- Spelling is enforced with CodeSpell2
- False positives sometimes occur. When this happens, please submit a PR editing .codespell-whitelist and ONLY .codesp[...]
- Markdown best practices are checked using markdownlint2
It is possible to run the EIP validator locally:
Make sure to add cargo's bin
directory to your environment (typically $HOME/.cargo/bin
in your PATH
environment variable)
cargo install eipw
eipw --config ./config/eipw.toml <INPUT FILE / DIRECTORY>
-
Open Terminal.
-
Check whether you have Ruby 3.1.4 installed. Later versions are not supported.
ruby --version
-
If you don't have Ruby installed, install Ruby 3.1.4.
-
Install Bundler:
gem install bundler
-
Install dependencies:
bundle install
-
Bundle assets and start the server:
bundle exec jekyll serve
-
Preview your local Jekyll site in your web browser at
http://localhost:4000
.
More information on Jekyll and GitHub Pages here.