Skip to content

Commit

Permalink
Update eip-X template, more tweaks to EIP 1 and jekyll template.
Browse files Browse the repository at this point in the history
  • Loading branch information
Arachnid committed Mar 21, 2018
1 parent c231d1c commit aea7bfc
Show file tree
Hide file tree
Showing 3 changed files with 21 additions and 13 deletions.
4 changes: 4 additions & 0 deletions EIPS/eip-1.md
Original file line number Diff line number Diff line change
Expand Up @@ -131,6 +131,8 @@ Each EIP must begin with an RFC 822 style header preamble, preceded and followed

` type: `<Standards Track (Core, Networking, Interface, ERC) | Informational | Process>

` * category `: <Core | Networking | Interface | ERC>

` created: `<date created on, in ISO 8601 (yyyy-mm-dd) format>

` * requires: `<EIP number(s)>
Expand All @@ -157,6 +159,8 @@ While an EIP is in private discussions (usually during the initial Draft phase),

The type header specifies the type of EIP: Standards Track, Meta, or Informational. If the track is Standards please include the subcategory (core, networking, interface, or ERC).

The category header specifies the EIP's category. This is required for standards-track EIPs only.

The created header records the date that the EIP was assigned a number. Both headers should be in yyyy-mm-dd format, e.g. 2001-08-14.

EIPs may have a requires header, indicating the EIP numbers that this EIP depends on.
Expand Down
3 changes: 3 additions & 0 deletions _layouts/eip.html
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,9 @@ <h1 class="page-heading">EIP {{ page.eip | xml_escape }}: {{ page.title | xml_es
{% endif %}
<tr><th>Status</th><td>{{ page.status | xml_escape }}</td></tr>
<tr><th>Type</th><td>{{ page.type | xml_escape }}</td></tr>
{% if page.category != undefined %}
<tr><th>Category</th><td>{{ page.category | xml_escape }}</td></tr>
{% endif %}
<tr><th>Created</th><td>{{ page.created | xml_escape }}</td></tr>
{% if page.requires != undefined %}
<tr><th>Requires</th><td>{{ page.requires | xml_escape }}</td></tr>
Expand Down
27 changes: 14 additions & 13 deletions eip-X.md
Original file line number Diff line number Diff line change
@@ -1,19 +1,20 @@
---
eip: <to be assigned>
title: <EIP title>
author: <list of authors' names and optionally, email addresses>
discussions-to: <email address>
status: Draft
type: <Standards Track (Core, Networking, Interface, ERC) | Informational | Process>
category (*only required for Standard Track): <Core | Networking | Interface | ERC>
created: <date created on, in ISO 8601 (yyyy-mm-dd) format>
requires (*optional): <EIP number(s)>
replaces (*optional): <EIP number(s)>
---

This is the suggested template for new EIPs.

Note that an EIP number will be assigned by an editor. When opening a pull request to submit your EIP, please use an abbreviated title in the filename, `eip-draft_title_abbrev.md`.

## Preamble

EIP: <to be assigned>
Title: <EIP title>
Author: <list of authors' names and optionally, email addresses>
Type: <Standard Track | Informational | Meta>
Category (*only required for Standard Track): <Core | Networking | Interface | ERC>
Status: Draft
Created: <date created on, in ISO 8601 (yyyy-mm-dd) format>
Requires (*optional): <EIP number(s)>
Replaces (*optional): <EIP number(s)>

The title should be 44 characters or less.

## Simple Summary
Expand All @@ -26,7 +27,7 @@ A short (~200 word) description of the technical issue being addressed.
The motivation is critical for EIPs that want to change the Ethereum protocol. It should clearly explain why the existing protocol specification is inadequate to address the problem that the EIP solves. EIP submissions without sufficient motivation may be rejected outright.

## Specification
The technical specification should describe the syntax and semantics of any new feature. The specification should be detailed enough to allow competing, interoperable implementations for any of the current Ethereum platforms (cpp-ethereum, go-ethereum, parity, ethereumj, ethereumjs, ...).
The technical specification should describe the syntax and semantics of any new feature. The specification should be detailed enough to allow competing, interoperable implementations for any of the current Ethereum platforms (cpp-ethereum, go-ethereum, parity, ethereumj, ethereumjs, ...).

## Rationale
The rationale fleshes out the specification by describing what motivated the design and why particular design decisions were made. It should describe alternate designs that were considered and related work, e.g. how the feature is supported in other languages. The rationale may also provide evidence of consensus within the community, and should discuss important objections or concerns raised during discussion.
Expand Down

0 comments on commit aea7bfc

Please sign in to comment.