The Ethereum Improvement Proposal repository
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:
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 . If you use your email address, that address must be the one publicly shown on your GitHub profile.
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.
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.
It is possible to run the EIP validator locally:
sh gem install eip_validator eip_validator
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.
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.
$ gem install bundler
$ bundle install
$ bundle exec jekyll serve
More information on Jekyll and GitHub pages here.