Submitting an Ethereum Improvement Proposal (EIP) is a straightforward process that allows you to contribute your ideas and suggestions to the Ethereum community. Here’s a step-by-step guide on how to submit an EIP:
- What Is An Ethereum Improvement Proposal
- The Different Categories Of EIP
- How To Submit An Ethereum Improvement Proposal
What Is An Ethereum Improvement Proposal
An Ethereum Improvement Proposal (EIP) is a formal document that provides technical specifications and rationales for proposed changes to Ethereum or its ecosystem.
EIPs serve as a means for the Ethereum community to propose, discuss, and track the progress of new ideas or enhancements to the platform. They also act as historical records of the decision-making process behind Ethereum’s evolution.
There is a site where you can view EIP’s past and present at: https://eips.ethereum.org/
The Different Categories Of EIP
Standard Track EIPs These proposals encompass changes that have a widespread impact on most or all Ethereum implementations. They can include modifications to the network protocol, adjustments to block or transaction validity rules, proposed application standards or conventions, and any changes that influence the interoperability of applications using Ethereum. Standard Track EIPs are further categorized into different types based on their focus and scope.
Core EIPs These improvements necessitate a consensus fork and are crucial to the core development of Ethereum. They can encompass changes that are critical to reaching consensus, as well as modifications that are relevant to core development discussions. For example, EIP-5 and EIP-211 introduce improvements that require consensus forks, while EIP-225 proposes a proof-of-authority algorithm for testnets.
Networking EIPs These proposals focus on enhancements related to devp2p (Ethereum’s peer-to-peer networking protocol) and the Light Ethereum Subprotocol. They may also include proposed improvements to network protocol specifications for technologies like whisper (Ethereum’s messaging protocol) and swarm (a distributed storage and content distribution platform).
Interface EIPs These EIPs concentrate on improvements to client API/RPC specifications and standards. They may also cover language-level standards, such as method names, and contract Application Binary Interfaces (ABIs). Discussions and development of interface-related proposals primarily occur in the interfaces repository before being submitted to the EIPs repository.
ERC EIPs (Ethereum Request for Comments) are focused on application-level standards and conventions within the Ethereum ecosystem. They define standards for various aspects, including token creation (e.g., ERC-20), name registries (e.g., ERC-137), URI schemes (e.g., ERC-681), library/package formats (e.g., ERC-190), and account abstraction (e.g., ERC-4337). These EIPs provide guidelines and standards for developers building on the Ethereum platform.
Meta EIPs Meta EIPs propose changes or events related to processes surrounding Ethereum, rather than the Ethereum protocol itself. They may suggest modifications to development procedures, guidelines, decision-making processes, or tools and environments used in Ethereum development. While not directly impacting the Ethereum codebase, they often require community consensus and serve as more than just recommendations. Meta EIPs are also categorized as Process EIPs.
Informational EIPs These EIPs focus on describing Ethereum design issues or providing general guidelines and information to the Ethereum community. They do not propose new features and do not necessarily represent community consensus or recommendations. Users and implementers have the freedom to ignore or follow the advice provided in Informational EIPs.
How To Submit An Ethereum Improvement Proposal
Submitting an Ethereum Improvement Proposal (EIP) is a straightforward process that allows you to contribute your ideas and suggestions to the Ethereum community.
Here’s a step by step guide on how to submit an EIP:
1. Familiarize Yourself with the EIP Guidelines
Before submitting an EIP, it’s essential to understand the guidelines and requirements set by the Ethereum community. Review the Ethereum Improvement Proposal repository (https://eips.ethereum.org/) and read the EIP-1 document, which outlines the EIP process and provides a template for formatting your proposal.
2. Develop Your Proposal
Start by formulating your idea or improvement for Ethereum. Clearly define the problem you aim to solve, propose a solution, and provide technical specifications and rationales to support your proposal. Ensure that your EIP focuses on a single key proposal or new idea to increase its chances of success.
3. Create an EIP Document
Use the EIP template provided in the EIP-1 document to structure your proposal. Fill in the required sections, including the title, authors, abstract, motivation, specification, and references. Follow the guidelines for formatting and ensure your document is clear, concise, and well-organized.
4. Open a Discussion
Before formally submitting your EIP, it’s advisable to seek community feedback and engage in discussions to refine your proposal. Start a thread on the Ethereum Magicians forum (https://ethereum-magicians.org/) or other relevant Ethereum community platforms to gather initial input and address any concerns or questions.
5. Finalize Your EIP
Incorporate the feedback received from the community discussions and make necessary revisions to your EIP document. Ensure that your proposal is well-supported, technically sound, and aligns with the Ethereum ecosystem’s principles and goals.
6. Submit Your EIP
Once you have completed and reviewed your EIP, it’s time to submit it for consideration. Create a pull request on the EIPs repository (https://github.com/ethereum/EIPs) by following the outlined guidelines for submitting a new EIP. Provide all the necessary information, including a clear title, a description of the proposal, and a link to the EIP document hosted on a public repository.
7. Engage in the Review Process
After submitting your EIP, it will undergo a review process by the Ethereum community. Be prepared to engage in discussions, answer questions, and address any concerns raised by community members, EIP editors, or Ethereum Core Developers. Actively participate in the review process to refine and improve your proposal.
8. Shepherd Your EIP
As the EIP author, it is your responsibility to shepherd the proposal through its lifecycle. Monitor the discussions, provide clarifications when needed, and work towards building consensus within the community around your idea. Collaboration and open dialogue are key to the success of your EIP.
By following these steps, you can effectively submit your Ethereum Improvement Proposal and contribute to the continuous development and evolution of Ethereum.