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 which intend to complete the EIP review process.
- 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 Active proposals that are recorded.
- 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 by the eip-automerger 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.