Ethereum Improvement Proposals (EIPs)
Ethereum Improvement Proposals (EIPs) describe standards for the Ethereum platform, including core protocol specifications, client APIs, and contract standards.
Before you initiate a pull request, please read the EIP-1 process document. Ideas should be thoroughly discussed prior to opening a pull request, such as on the Ethereum Magicians forums or in a GitHub issue in this repository.
This repository tracks the ongoing status of EIPs. It contains:
- Draft proposals where the author(s) are still making changes and is not ready for review.
- Review for proposals ready for EIP review process and the author(s) are ready for improvement suggestions.
- Last Call for proposals that may become final (see also RSS feed).
- Accepted proposals which are awaiting implementation or deployment by Ethereum client developers.
- Final and Living proposals that have solidified into a standard.
- The EIP process that governs the EIP repository.
Achieving "Final" status in this repository only represents that a proposal has been reviewed for technical accuracy. It is solely the responsibility of the reader to decide whether a proposal will be useful to them.
Browse all current and draft EIPs on the official EIP site.
Once your first PR is merged, we have a bot that helps out by automatically merging PRs to draft EIPs. For this to work, it has to be able to tell that you own the draft being edited. Make sure that the 'author' line of your EIP contains either your GitHub username or your email address inside <triangular brackets>. If you use your email address, that address must be the one publicly shown on your GitHub profile.
Project Goal
The Ethereum Improvement Proposals repository exists as a place to share concrete proposals with potential users of the proposal and the Ethereum community at large.
Preferred Citation Format
The canonical URL for a 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.
Please consider anything which is not published on https://eips.ethereum.org/ as a working paper.
And please consider anything published at https://eips.ethereum.org/ with a status of "draft" as an incomplete draft.
Validation
EIPs must pass some validation tests. The EIP repository ensures this by running tests using html-proofer and eip_validator.
It is possible to run the EIP validator locally:
gem install eip_validator
eip_validator <INPUT_FILES>
Automerger
The EIP repository contains an "auto merge" feature to ease the workload for EIP editors. If a change is made via a PR to a draft EIP, then the authors of the EIP can GitHub approve the change to have it auto-merged. This is handled by the EIP-Bot.
Local development
Prerequisites
-
Open Terminal.
-
Check whether you have Ruby 2.1.0 or higher installed:
$ ruby --version
-
If you don't have Ruby installed, install Ruby 2.1.0 or higher.
-
Install Bundler:
$ gem install bundler
- Install dependencies:
$ bundle install
Build your local Jekyll site
- 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.