Ethereum Development Standards
The Ethereum community has adopted many standards that help keep projects (such as Ethereum clients and wallets) interoperable across implementations, and ensure smart contracts and dapps remain composable.
Typically standards are introduced as Ethereum Improvement Proposals (EIPs), which are discussed by community members through a standard process(opens in a new tab).
- Introduction to EIPs
- List of EIPs(opens in a new tab)
- EIP GitHub repo(opens in a new tab)
- EIP discussion board(opens in a new tab)
- Introduction to Ethereum Governance
- Ethereum Governance Overview(opens in a new tab) March 31, 2019 - Boris Mann
- Ethereum Protocol Development Governance and Network Upgrade Coordination(opens in a new tab) March 23, 2020 - Hudson Jameson
- Playlist of all Ethereum Core Dev Meetings(opens in a new tab) (YouTube Playlist)
Types of standards
There are 3 types of EIPs:
- Standards Track: describes any change that affects most or all Ethereum implementations
- Meta Track(opens in a new tab): describes a process surrounding Ethereum or proposes a change to a process
- Informational Track(opens in a new tab): describes an Ethereum design issue or provides general guidelines or information to the Ethereum community
Furthermore, the Standard Track is subdivided into 4 categories:
- Core(opens in a new tab): improvements requiring a consensus fork
- Networking(opens in a new tab): improvements around devp2p and Light Ethereum Subprotocol, as well as proposed improvements to network protocol specifications of whisper and swarm.
- Interface(opens in a new tab): improvements around client API/RPC specifications and standards, and certain language-level standards like method names and contract ABIs.
- ERC(opens in a new tab): application-level standards and conventions
More detailed information on these different types and categories can be found in EIP-1(opens in a new tab)
- ERC-20 - A standard interface for fungible (interchangeable) tokens, like voting tokens, staking tokens or virtual currencies.
- ERC-1363(opens in a new tab) - Defines a token interface for ERC-20 tokens that supports executing recipient code after transfer or transferFrom, or spender code after approve
- ERC-721 - A standard interface for non-fungible tokens, like a deed for artwork or a song.
- ERC-2309(opens in a new tab) - A standardized event emitted when creating/transferring one, or many non-fungible tokens using consecutive token identifiers.
- ERC-4400(opens in a new tab) - Interface extension for EIP-721 consumer role
- ERC-4907(opens in a new tab) - Add a time-limited role with restricted permissions to ERC-721 tokens.
- ERC-777 - (NOT RECOMMENDED) A token standard improving over ERC-20.
- ERC-1155 - A token standard which can contain both fungible and non-fungible assets.
- ERC-4626 - A tokenized vault standard designed to optimize and unify the technical parameters of yield-bearing vaults.
Learn more about token standards.
Know of a community resource that helped you? Edit this page and add it!
Help us with this page
If you're an expert on the topic and want to contribute, edit this page and sprinkle it with your wisdom.
You'll be credited and you'll be helping the Ethereum community!
Use this flexible documentation template(opens in a new tab)
Questions? Ask us in the #content channel on our Discord server(opens in a new tab)Edit page(opens in a new tab)