Superseded by eipw
An engine which ensures Ethereum Improvement Proposals meet certain requirements.
To install eipv and validate the EIPs repository:
git clone https://github.com/lightclient/eipv.git
cargo install --path=eipv eipv
eipv /path/to/EIPSThis tracks what eipv can validate.
- Preamble starts with
--- - Preamble ends with
--- - Preamble includes all required fields:
eiptitledescriptionauthordiscussions-tocreatedstatustypecategory(ifftype== "Standards Track")
- Preamble does not include any unknown fields
- Preamble fields are properly formed:
- Each field is of the shape
{field}: {value}\n -
eipis an unsigned integer -
titleis a string whose length is less than 44 characters -
authoris a comma-separated string of author information which has three possible shapes:- Name only:
John A. Doe - Name and email:
John A. Doe <[email protected]> - Name and Github username:
John A. Doe (@johndoe)
- Name only:
-
discussions-tois a URL where discussions regarding the EIP should be directed -
discussions-todoes not point to a PR -
statusis one of the following string values:draftlast callacceptedfinalabandonedrejectedsuperseded
-
typeis one of the following string values:standards trackinformationalmeta
-
categoryis one of the following string values:corenetworkinginterfaceerc
-
last-call-deadlineis a date value -
createdis a date value -
updatedis a comma-separated list of date values -
requiresis a comma-separated list of EIP numbers in ascending order -
withdrawal-reasonis a string
- Each field is of the shape
- EIP numbers listed as
requiredexist - The EIP body includes the required sections in the following order:
AbstractMotivationSpecificationRationaleBackwards CompatibilityTest CasesImplementationsSecurity ConsiderationsCopyright Waiver
- The
Abstractsection is no longer than 200 words - The
Copyright Waiversection contains only the following string:Copyright and related rights waived via CC0. - The EIP body does not include any unclosed brackets or parentheses outside of code snippets
- File name is of form
eip-N.md, whereNcoresponds to the EIP's assigned number - URLs to other EIPs are relative links
- No trailing whitespace in preamble