Ethereum Improvement Proposal (EIP) är ett dokument som används för att beskriva standarder för Ethereum-gemenskapen. Dessa dokument handlar om förbättringar och kan skickas in av alla Ethereum användare för att genomdriva ändringar och inkluderar klienters API: er, kärnprotokollstandarder, kodändringar och kontraktsstandarder.

Det finns även ett antal olika typer av EIP:

Standardändringar: Det här är ändringar som påverkar alla eller de flesta Ethereum-implementeringar, inklusive ändringar i nätverksprotokollet.

Kärnändringar: Dessa förändringar kräver en ”konsensus fork” och kan ofta inkludera diskussioner om utvecklingsändringar som inte tillhör nätverkets kärna.

Nätverksändringar: Detta inkluderar förbättringar av nätverksprotokollspecifikationer som devp2p (EIP8) och Ethereum Subprotocol.

Gränssnittsändringar: Detta inkluderar förbättringar av klientstandarder och specifikationer inklusive API/RPC -standarder och specifikationer.

ERC-ändringar: Dessa hänvisar till standarder och konventioner på applikationsnivå och inkluderar namnregister och tokenstandarder.

Meta-ändringar: Dessa processer ändrar förfrågningar och fungerar på samma sätt som standardändringar EIP, men gäller andra delar än Ethereum protokollet.

Informationsändringar: Detta ger riktlinjer för utformning av Ethereum. Användare och implementatörer kan ignorera informations EIP: er eftersom de inte nödvändigtvis återspeglar en rekommendation från Ethereum.

Ett antal andra processer är inblandade för att avgöra om ändringarna ska inkluderas när ett EIP har skickats in.

Dessa inkluderar:

Utkast: Ett EIP som övervägs öppet.

Sista kollen: Ett EIP som har genomgått en första behandling och är redo för granskning.

Slutlig (Icke-kärna): Ett EIP som är i steget ”sista kollen” under minst två veckor och alla tekniska problem som har tagits upp har hanterats.

Slutlig (kärna): En EIP som kärnutvecklare godkänner eller tänker implementera i framtiden i en hård gaffel (hard fork).

Uppskjuten: Ett EIP som inte kommer att antas omedelbart men som övervägs för senare implementering.