The Ethereum Improvement Proposal repository
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 
Go to file
Gavin John 5d8565649b
Update EIP-5380: Move to Final
1 day ago
.github Update actions/checkout digest to 8f4b7f8 1 day ago
EIPS Update EIP-5380: Move to Final 1 day ago
_data Updates statuses to match EIP-1 (#3162) 2 years ago
_includes Website: Fix MathJax (#6684) 2 weeks ago
_layouts Website: Complete transition to ERC (#6383) 2 months ago
assets Update EIP-5773: Modify specification to consume less gas 3 days ago
config Config: Fix c-new labeling for numberless EIPs 3 days ago
rss Website: more rss feeds (#6579) 1 week ago
.gitattributes Force LF line endings (#5266) 9 months ago
.gitignore Ignore JetBrains project files (#6211) 3 months ago
404.html This PR shouldn't be able to be merged by me 3 months ago
CNAME Create CNAME 5 years ago
Gemfile Upgrade to latest github-pages and enable Solidity syntax highlighting (#2679) 3 years ago
Gemfile.lock Bump nokogiri from 1.13.7 to 1.13.9 (#5796) 1 week ago
LICENSE.md Force usage of included LICENSE file (#5055) 11 months ago
README.md CI: Update eip-review-bot username (#6517) 1 month ago
_config.yml Add vercel-based previewing (#5259) 9 months ago
all.html Add 'all' page 5 years ago
core.html Add pages for each EIP type, improve listing tables with links 5 years ago
eip-template.md Update EIP template: Add acceptable placeholders (#5576) 2 months ago
erc.html Add pages for each EIP type, improve listing tables with links 5 years ago
index.html Website: more rss feeds (#6579) 1 week ago
informational.html Fix title for informational EIPs listing page 5 years ago
interface.html Add pages for each EIP type, improve listing tables with links 5 years ago
meta.html Add pages for each EIP type, improve listing tables with links 5 years ago
networking.html Add pages for each EIP type, improve listing tables with links 5 years ago

README.md

Ethereum Improvement Proposals (EIPs)

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 in the form of Ethereum Improvement Proposals (EIPs). EIP-1 governs how EIPs are published.

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 consensus is reached, thoroughly read and review EIP-1, which describes the EIP process.

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. For specific questions and concerns regarding EIPs, it's best to comment on the relevant discussion thread of the EIP denoted by the discussions-to tag in the EIP's preamble.

If you would like to become an EIP Editor, please read EIP-5069.

Preferred Citation Format

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, and note that their specification is likely to be subject to change.

Validation and Automerging

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 eipw2
  • 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 .codespell-whitelist
  • Markdown best practices are checked using markdownlint2

It is possible to run the EIP validator locally:

cargo install eipv
eipv <INPUT FILE / DIRECTORY>

Build the status page locally

Install prerequisites

  1. Open Terminal.

  2. Check whether you have Ruby 2.1.0 or higher installed:

    ruby --version
    
  3. If you don't have Ruby installed, install Ruby 2.1.0 or higher.

  4. Install Bundler:

    gem install bundler
    
  5. Install dependencies:

    bundle install
    

Build your local Jekyll site

  1. Bundle assets and start the server:

    bundle exec jekyll serve
    
  2. Preview your local Jekyll site in your web browser at http://localhost:4000.

More information on Jekyll and GitHub Pages here.