Contributing into Ethereum Protocol: How to Start
EthCC[8] · 30 Jun 2025 · 21:38
Ekaterina Riazantseva presents a guide to contributing to the Ethereum protocol. The presentation shares resources, a proposed learning path and practical advice drawn from contributors’ experience.
Speakers
Topics
From EthCC[8], hosted by Ethereum France.
Transcript
Hello everyone. I think we can start. Um so uh today we're gonna talk about uh contributing into Ethereum protocol from scratch. Who of you never did this before? Oh wow, cool. Okay, so my name is Katya. I'm Ethereum Protocol Fellowship uh alumni and Ethereum Foundation grantee and currently I contribute to Loadar. Quick agenda. We quickly speak about Ethereum protocol and then uh how to contribute to EIP specifications uh how to contribute to clients themselves and
to testing and research and in the end I will share some links for the contributor support. So there are some programs which contribute supporters. So uh here is the schema of the Ethereum protocol uh cycle developer cycle. So we start from research uh so then goes EIP uh based on the EIP we have specifications uh then goes developer uh development phase after that uh intensive testing and uh the update goes to mainet. This is kind of a hard fork circle.
Uh before you start contributing uh you need to of course learn the basics of the protocol and uh the very the easiest resource is ethereum.org. So uh very very basic like what is node uh what is consensus. So you can start from here if you know anything if you don't know anything about the protocol. Then I would like to recommend you Ethereum protocol study group videos. This is the program led by Ethereum foundation and uh there were already two cohorts. They invite uh core developers and researchers uh and uh they give uh detailed talks about the protocol about
specific parts. Um so just check it. I would also recommend core developer talks from the conferences like devcon connect uh sec um wherever there there is like core core protocol section this is your talk. So protocol calls uh protocol um uh has weekly calls uh which are called ACDC and you can find them on the Ethereum Foundation uh YouTube channel. Uh and you can start following the talks. They are quite difficult for understanding from the very beginning but uh if you do it maybe like half a year so you will know better. uh and of
course specifications is a high level so you can try to read them after you start diving into the protocol and um yeah so uh let's start from the EIPs uh I would recommend you to follow the Ethereum cat herders they are supporters of the EIPs so um and there is also the good resource about EIP EIP insights so uh Ethereum cat herders um like make recordings uh they translate it on eggs.
So everything about EIPs uh the basic uh EIP for contributors is this one uh EIP 50669 EIP editor handbook. So this is this EIP is specifically for contributors. Uh the process of editing described here so you can just follow it. And there is a good uh workshop EIP editors workshop from ETHCK herders. Uh all the links I will uh I will aggregate on my GitHub repo and it will be at the end on the last slide. So uh this talk tells about uh how to be an author of EIP, how to be an editor of EIP and how
to be a reviewer. So editor is like a medium level and uh reviewer is like high level if you're specialist in uh in in in in the field. So you can be a reviewer. So depending on which EIP is um let's go to core development because this is what I'm mostly doing. Um so um Ethereum protocol uh itself is like set of rules, set of EIPs uh and uh what what we build is Ethereum clients which are based on the uh EIPs on the specifications and u normally it's just a software like backend software and for
example if you're already web two developer and you are familiar with uh these concepts like CLI P2P database is API and others. So you can already start contributing if you know anything from this you can uh find anything to improve in the client and you can contribute and of course clients have uh their main logic like Ethereum logic and uh uh Ethereum now has two layers execution layer and consensus layer. Execution layer is X proof of work. So uh it was the only client before merge and the main logic of the execution layer is um all about transactions EVM um block pro
transaction processing. It also has execution API and it's responsible for fe market logic. Consensus layer is um it consists of pick and chain part and validator part and it's all about consensus uh attestations uh propagating blocks uh staking uh fork choice and it also has beacon API. Uh so in fact you need just to choose where you're going to contribute to execution layer or to consensus layer. And here is the list of the current uh clients active clients. So uh you may choose like by programming language for example and uh just by
layer. So and here you we go you you are ready to start contributing. So uh what you need to do you just need to go to the client's repo and find documentation uh find contributors guide. This is your main doc uh document where you need to start and I would recommend you to uh join client's discord uh because you can uh you can get some help there and initial setup for development for code core development just g you you will use it a lot and uh docker and prerequisites from the contributors guide and curtosis is not necessary I will come uh to it later
but this is it uh you and start contributing. Uh uh the next steps are just open-source uh contributions. So uh it's Ethereum is a open source software. So all the steps like forking repo etc uh works here. So um fork the repo, try to build the project, try to run the tests and uh you can also run a node locally. So all these steps how to run test how to build the project all are in the contributor's guide.
So uh if you have your own running so it already a success sometimes it's not easy uh but if you have it so you can see the logs and you can follow the logs just how the uh how the node is like launched uh and where is this code in the code base you can just a little bit follow just to meet the logic the architecture uh what is going on here and where is where is it in the code like uh how the log propagates etc etc test station so you can follow the log uh then uh for the beginners I would recommend good first issues so every client has uh these issues labeled like
uh good first issue so you can go to their uh GitHub repo find this issue just by labels filtering labels um just go through them read them uh try to find something you can more or less understand and then you start working on code. So um ask try to assign yourself to the issue. You just uh write the comment like please assign me to this issue. I'm I'm going to work on it. Uh you can tag the author of the issue like uh here for example uh and uh you can ask follow-up questions. If it's not clear to you what to do, you can ask here in the comments.
So and you just start uh building um whenever you are ready um you open a PR and uh push your commits uh and get a re review from core developers um so it's kind of a dialogue you build they review and again maybe several cycles of this uh uh I would also recommend you to use discord because um you need to be patient uh when you open a PR it takes some time I don't know maybe day two, three or week because core developers are busy so uh whenever they reach your PR so probably sometimes it's easier to reach out in discord so for this you
need to find uh the channels which are marked as developer or contributor it's actually should be marked in the contributor um uh guide and you can just ask in the for example developer channel so I have a problem or give a give a link to your PR. So the final goal is to make your uh make your PR merged. So and whenever it's merged, you can start again. Uh choose next issue and just dive into the protocol step by step.
Uh some other ideas how to start with the protocol. It may be hackathon because Ethereum Foundation uh sponsors uh some of the hackathons. For example, ETH global u and others. So you can just uh go to the hackathon. They will provide you with some ideas already uh what they need and uh yeah you can start building. You can try at least uh and they will be there. They will help you. Um yeah they will provide some some help. Another idea is just uh your own project. Maybe you're interested in something specific, some EIP or u I don't know improvement or refactoring.
So you can just start building your own uh idea. But before you start, please um reach out to core developers if it's still relevant or not. You need to know it. And um another idea just to join other contributors like uh work in the group uh collaborate with other developers. Uh I know some cases where people start like this. Uh okay we build the code. Uh let's talk about testing. So uh every client has a normal software has uh some tests for example like unit test integrations end to end and it has specific uh blockchain like protocol test like fuzzing for example or interrupt tests and of course
spec tests uh where we test specifications. So for these three parts uh you just can run it locally and for these ones uh most of the time you need uh specific uh tooling from DevOps team. So you can build your test, you can run test and you can contribute to test uh because um for example testing tool uh here is one of them uh Dora and Curtosis is also an open-source software. So you can for example pick not a protocol itself but the tooling itself uh as well. So um here is the Dora running and uh here is how we test interrop uh
clients. So we just combine all the clients should uh should be combined with each other and uh this here on this slide uh it's it's the network running successfully. So all the procs are proposed and we see you the finality. Uh so yes this is how you can uh contribute to testing. Spec tests are built by the Ethereum foundation team and um there are two uh kinds of tests for execution layer and for consensus layer and you can also uh contribute the same way as in the development. uh they are built in Python and in fact they are just inputs uh and outputs. So uh Ethereum clients just uh
take the inputs uh uh go through the code and uh compare the outputs they should be the same. So this is how we check uh that the client is um uh I mean the client is uh like follows the specs. So what about research? Uh research is like complicated part. Uh I would like to recommend this two resources. Eth research is like more technical where researchers uh discuss their ideas. Uh new upcoming upgrades and Ethereum magicians is more for community. It's like about EIP and also like protocol calls. So use both uh just to start to
find some idea. And additionally you can uh visit research calls they're also on YouTube uh you can make some analysis uh if you are interested in research uh for example there is a new EIP upcoming so you can make an analysis of it for example run node uh you can work on benchmarks as well and if you're a developer you can build a prototype which is sometimes like also needed for researchers And you can join Ethereum R&D discord and follow uh the research team. So they are pretty active there the same as developers.
Uh the last one is specifications. So contributing into specifications is quite hard because you need to know already the protocol very well. Uh they are built in Python as well. Uh but uh it's complicated but it's possible. So it's the same uh open issue. You can go to GitHub repo of the specifications uh try to solve an issue if you're interested in the specifications themselves. Uh supporting support programs for contributors. Um there are a bunch of them. Uh next billion fellowship is in general for um contributors of the Ethereum like if you have a dab or if you have a idea I don't know like
community stuff something like this. um you can apply the this support program is also it's like uh giving a grants uh so if you um if you also want to contribute and get a grant if you have serious project so feel free to apply here uh these two programs EPS and EPF this is what I did um they normally run once a year so it starts from study group so uh people study just around two months you can join the calls, the regular calls and um uh then there is uh like application process. So uh you apply for EPF for fellowship if you want and uh the
program itself it it they takes five months. So uh current fellows are here in the in cans. Uh so you choose a project this year they are they recommended some list of projects. uh you choose a project, you work on it and uh by the end of the fellowship, you need to present it, you need to make it done. There's also initiative for women uh if you want to start uh we are very supportive and we help women to also try to contribute.
Um this is it. This is the repo with all the links. Um I would recommend you uh some other resources like EPF wiki. uh this resource is built by fellows uh so they aggregate all the links talks there so very very useful if book.info info is a description of the protocol but it's outdated but anyway I I recommend it still like it's the basics of the protocol and defconor u all the talks of the core developers are there thank you very much ready to questions [Applause] if we have time
if you have any question just raise your hand I'll bring the mic to Hey uh yeah just from your experience how do core developers actually allocate time when they observe that someone posted an issue in GitHub want to fix some something because usually they quite busy but still it's kind of important to kind of uh well keep communities engagement to kind of react on what they proposing here to be honest I don't know how our core developer does it he just uh I don't know he's like big professional he he reviews uh the PRs from core developers and also from the contributors
to be honest I don't know how he does it but he does he does actually regularly so contributors uh PRs review it regularly so it's kind of extra work but yeah everyone knows that contribution is important And we actually welcome contributors. So we need their help. Anything else about yeah fellowship maybe or Hi there. If you apply for a grant from the Ethereum Foundation, how much collaboration there is between let's say
the entity that has uh got the grant and the Ethereum foundations and the core developers. Can you explain a bit how this interaction works if you know? Um well what I know so initially you should have an idea and you should uh like um discuss it with core developers or researchers and if you I think like if you have like approval a little bit like oral uh then you can start the process of applying uh but anyway even if you don't have approval why not why not to try so you interact with the team using discord mostly or maybe telegram if you
have some contacts but yeah discord is more available because yeah uh there is a link for these grants and in case you need it no more questions Yeah. Hello. So, does the Ethereum Foundation have some um relation with Heiso or uh Etsy or Sen standardization organization?
I don't know because I'm not from Ethereum Foundation. No, I don't know. Sorry. Oh, there is some proxy to ask uh some some point uh of information. I think you can using discord you can ask just join the discord R&D discord and yeah maybe here in during the conference there is some of course some of them are here I guess. Okay, maybe we can. Yeah, sure. Thank you so much today. I appreciate y'all's time today. Can I give it up?