-
Notifications
You must be signed in to change notification settings - Fork 6.1k
Add EIP: EIP tagging #11545
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Open
SirSpudlington
wants to merge
8
commits into
ethereum:master
Choose a base branch
from
SirSpudlington:eip-tagging
base: master
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
Add EIP: EIP tagging #11545
Changes from all commits
Commits
Show all changes
8 commits
Select commit
Hold shift + click to select a range
88f8a7a
EIP tags
SirSpudlington abe4794
Add real tag
SirSpudlington 7626ae1
Change up some things
SirSpudlington 6ad09f0
Minor tweaks + how to add new tags
SirSpudlington ebc4412
Make the linter happy
SirSpudlington 0da41d2
Add correct sections
SirSpudlington 848b5da
Remove tags to make the walidator happy
SirSpudlington 4f5fc0e
Update to be an EIP-1 update.
SirSpudlington File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,123 @@ | ||
| --- | ||
|
SirSpudlington marked this conversation as resolved.
|
||
| eip: 8235 | ||
| title: EIP tagging | ||
| description: Requirements and governance process for the modification of EIP tags and the list of well-defined tags. | ||
| author: James Kempton (@SirSpudlington), et al. | ||
| discussions-to: https://ethereum-magicians.org/t/meta-eip-8235-eip-tagging/28275 | ||
| status: Draft | ||
| type: Meta | ||
| created: 2026-04-18 | ||
| requires: 1 | ||
| --- | ||
|
|
||
| ## Abstract | ||
|
|
||
| This document defines the set of well-known tags that EIPs may use to categorize themselves. The process and governance rules for appending to this list are also defined within this document | ||
|
|
||
| ## Specification | ||
|
|
||
| The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in [RFC 2119](https://www.rfc-editor.org/rfc/rfc2119) and [RFC 8174](https://www.rfc-editor.org/rfc/rfc8174). | ||
|
|
||
| ### Tag structure | ||
|
|
||
| EIP tags must follow the structure of `namespace:category[/subcategory]` with the `[/subcategory]` section of a tag | ||
| being optional if an EIP covers the majority of the parent tag. | ||
|
|
||
| ### Tag requirements | ||
|
|
||
| All defined tags MUST adhere to the following conditions: | ||
|
|
||
| - Tags MUST be generic. They MUST NOT specify how something is done, they can only specify the outcome of the proposal. | ||
| - Tags MUST belong to exactly one namespace, if a tag could span multiple namespaces it SHOULD be duplicated per namespace. | ||
| - Tags MUST be accompanied by a definition of the tag's scope. Tag definitions MUST NOT introduce ambiguity with existing tags. | ||
| - Tags SHALL be short and human readable. | ||
| - Tags SHALL be mutually exclusive of each other. Tags should not depend on any other tag than its parent tag. | ||
|
|
||
|
|
||
| ### Creation of new tags | ||
|
|
||
| Newly proposed tags MUST satisfy at least one of the following conditions: | ||
|
|
||
| - The tag is required to allow EIP with the `meta:experimental` tag to finalize | ||
| - The tag describes behaviour that is present within a reasonable implementation of protocol | ||
|
|
||
| Should editor consensus be reached that a proposed tag meets the above requirements, the tag name and definition | ||
| MUST be appended to this document's [Defined Tags](#defined-tags) section. | ||
|
|
||
| ### Removal of existing tags | ||
|
|
||
| If any defined tag fails to satisfy any of the requirements for creation, it MUST | ||
| be removed from this document. It MAY be added again if it once again meets the | ||
| creation requirements. | ||
|
|
||
| Final, Withdrawn or Stagnant EIPs MUST NOT be modified if a dependent tag ceases to exist. | ||
|
|
||
| All other EIPs MUST remove any references to removed tags before they can finalize. | ||
|
|
||
| ### Defined tags | ||
|
|
||
| The currently defined tags that are permitted in an EIP are defined below. | ||
|
|
||
| #### The `el` namespace | ||
|
|
||
| | Tag name | Description | | ||
| |-|-| | ||
| | `el:block` | Modifications to the structure, processing or handling of blocks. (Excluding EVM processing) | | ||
| | `el:cryptography` | Introduction or modification of any new cryptographic primitive or algorithms. | | ||
| | `el:data-availability` | Introduction or modification of any system with a primary purpose of providing data availability to external consumers outside of the EVM. | | ||
| | `el:evm` | Introduction or modification of the processing or structure of EVM bytecode. | | ||
| | `el:evm/opcode` | Introduction or modification of specific EVM opcodes. | | ||
| | `el:evm/precompile` | Introduction or modification of precompiled contracts. | | ||
| | `el:receipt` | Modifications to the structure or handling of transaction receipts. | | ||
| | `el:state` | Changes to how the state is structured or processed. | | ||
| | `el:transaction` | Modification or introduction of a transactions structure or processing **or** introduction of new transaction types. (Excluding EVM processing) | | ||
| | `el:transaction/type` | Introduction of new transaction types. (Excluding EVM processing) | | ||
| | `el:validator` | Changes to how validators are processed on the execution layer. | | ||
| <!-- More TBD --> | ||
|
Check warning on line 76 in EIPS/eip-8235.md
|
||
|
|
||
| #### The `cl` namespace | ||
|
|
||
| | Tag name | Description | | ||
| |-|-| | ||
| | `cl:cryptography` | Introduction or modification of any new cryptographic primitive or algorithms. | | ||
| | `cl:data-availability` | Introduction or modification of any system with a primary purpose of providing data availability to external consumers outside of the EVM. | | ||
| | `cl:finalization` | Changes to how blocks are finalized. | | ||
| | `cl:fork-choice` | Changes to how the the next correct block is selected. | | ||
| | `cl:light` | Systems that have a primary purpose of providing for light clients. | | ||
| | `cl:slot` | Modifications to the structure, timing, processing or handling of slots. | | ||
| | `cl:validator` | Changes to validator operation or processing. | | ||
| <!-- More TBD --> | ||
|
|
||
| #### The `net` namespace | ||
|
|
||
| | Tag name | Description | | ||
| |-|-| | ||
| | `net:transports` | Changes to how messages are passed between clients. | | ||
| | `net:discovery` | Changes to how clients discover and peer with each other. | | ||
| | `net:identification` | How peers may identify themselves to other peers. | | ||
| | `net:protocol` | Introduction or changes of specific protocols. | | ||
| | `net:protocol/execution` | Protocols for execution bound messages. | | ||
| | `net:protocol/sync` | Protocols that have a primary purpose of syncing with other peers. | | ||
| | `net:protocol/consensus` | Protocols for consensus bound messages. | | ||
| | `net:protocol/light-client` | Protocols that have a primary purpose of providing light clients with chain information. | | ||
| | `net:protocol/rpc` | Protocols for communication of chain data between clients | | ||
| <!-- More TBD --> | ||
|
|
||
| #### The `meta` namespace | ||
|
|
||
| | Tag name | Description | | ||
| |-|-| | ||
| | `meta:experimental` | EIPs that have functionality that does not fit into pre-existing tags. EIPs with this tag cannot finalize, tags should be created to replace this tag before finalization. | | ||
| <!-- More TBD --> | ||
|
|
||
| ## Rationale | ||
|
|
||
| <!-- TBD --> | ||
|
|
||
| ## Security Considerations | ||
|
|
||
| No security issues found. | ||
|
|
||
| ## Copyright | ||
|
|
||
| Copyright and related rights waived via [CC0](../LICENSE.md). | ||
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.