Photo credit Yen Nguyen

Comprehensive guide on writing and submitting an EIP

Anett
The Fellowship of Ethereum Magicians
4 min readNov 9, 2022

--

All you need to know in order to write great EIP and the process behind it.

This article was published as twitter thread if you want to read just the highlights.

Writing an EIP is not a big deal, BUT. Yes, there’s but, here are some things to consider and keep in mind before writing an EIP itself:

  • EIP is NOT a project promotion
  • You are writing an EIP because you want to standardise something, possibly a convention for solidity contracts, or maybe a change to the protocol itself
  • In order for EIP to be successful it needs to be a little bit general. Your EIP will not be used if it will be too one function specific and only be able to used just for your project
  • EIPs should be general but not repetitive
  • If your EIP will have a single implementation, it probably shouldn’t be an EIP at all. EIPs work best when you expect multiple users/implementers that all need to interoperable together

What should I do before submitting an EIP?

Look through Ethereum EIPs list and Eth Magicians forum to see if someone have a similar idea as you do with your EIP. If yes, then join the discussion. A lot of times EIPs are abandoned by the authors, who are happy if their EIP is being picked up, reworked and finalised. Go ahead and look if there’s a similar EIP. If not, then submit the EIP yourself.

How to submit an EIP ?

You can submit the EIP into following GitHub repo using EIP template. Additionally, please read EIP-1 before submitting your EIP for more instructions.

What’s the difference between EIP and ERC and how to decide whether I’m submitting an EIP or ERC?

Actually, there’s not a big difference at all. ERCs are a specific category of EIP that deal with smart contracts and Solidity interfaces.

The other common type of EIP is Core, and they are for protocol improvements.

  • EIP = Ethereum Improvement Proposal
  • ERC = Ethereum Request (for) Comments

For more definition between EIPs and ERCs, check out my articles where I described the difference in depth:

What to do next after submitting EIP to Ethereum/EIPs GitHub Repository?

Share the EIP or ERC to Eth Magicians forum by pasting links to the source of the EIP Github repo and add overview and links to the reference materials related to your EIP. Don’t just copy paste the EIP but focus your post into highlighting why people should implement it. Why is your EIP different from any other (similar) EIP or ERC? How the ecosystem can/will benefit from your EIP or ERC.

My EIP is still in Drafts what to do to make it final?

Moving an EIP through the various stages is the responsibility of the author(s). Once you’re happy with the content of the EIP, and are reasonably confident it’s ready, you should move the EIP to Review and begin soliciting feedback from interested stakeholders.

Further, the status of an EIP is not an indication of adoption. Instead, status indicates the stability of the proposal. Expect Draft EIPs to be somewhat incomplete and to change often, Review EIPs to be complete and change rarely, Last Call EIPs to rarely ever change, and Final EIPs will only change to correct mistakes.

Some tips here:

  • Use the Eth Magicians forum to engage with the community
  • Reach out to projects that are relevant to your EIP and ask them to implement it
  • Write article why you created this EIP, what inspired you to create it, how it can be used… anything that doesn’t fit into an EIP should be in the article
  • Share your EIP within your Community channels, engage with your community, write explanations of your EIP
  • Make it unique but not only “one use case” style
  • Attend EIP Editing Office Hours — it’s bi-weekly call hosted by EIP Editors and the Ethereum Cat Herders where people submit their EIP and get it reviewed by EIP Editors and ask for feedback. Submit your EIP as comment to the upcoming EIP Editing Office Hours meeting agenda which will be shared here.

This guide should help you submit your EIP. I fully understand that this is like the third very similar article which I wrote but this topic evolves and there are many questions unanswered. On behalf of Ethereum Magicians we are extremely happy to support community when it comes to Ethereum Improvement Proposals. Thank you to everyone who's working on making Ethereum technologically advanced and working on improvements.

Good luck with your EIPs! 🍀

Further reading:

Thank you to EIP Editor Sam Wilson for reviewing earlier drafts of this article.

Stay Magical ✨

--

--