Skip to main content

Help update this page

🌏

There’s a new version of this page but it’s only in English right now. Help us translate the latest version.

Translate page
See English

No bugs here!πŸ›

This page is not being translated. We've intentionally left this page in English for now.

This page is incomplete and we'd love your help. Edit this page and add anything that you think might be useful to others.

Ethereum Development Standards

Last edit: , Invalid DateTime
Edit page

Standards overview

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.

Types of standards

There are 3 types of EIPs:

  • Standards Track: describes any change that affects most or all Ethereum implementations
  • Meta Track: describes a process surrounding Ethereum or proposes a change to a process
  • Informational Track: 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: improvements requiring a consensus fork
  • Networking: improvements around devp2p and Light Ethereum Subprotocol, as well as proposed improvements to network protocol specifications of whisper and swarm.
  • Interface: improvements around client API/RPC specifications and standards, and certain language-level standards like method names and contract ABIs.
  • ERC: application-level standards and conventions

More detailed information on these different types and categories can be found in EIP-1

Token standards

  • ERC-20 - A standard interface for fungible (interchangeable) tokens, like voting tokens, staking tokens or virtual currencies.
    • ERC-1363 - 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 - A standardized event emitted when creating/transferring one, or many non-fungible tokens using consecutive token identifiers.
    • ERC-4400 - Interface extension for EIP-721 consumer role
    • ERC-4907 - 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.

Further reading

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

Questions? Ask us in the #content channel on our Discord server

Edit page

Was this article helpful?

Website last updated: November 29, 2022

Use Ethereum

  • Find wallet
  • Get ETH
  • Decentralized applications (dapps)
  • Layer 2
  • Run a node
  • Stablecoins
  • Stake ETH

Ecosystem

  • Community hub
  • Ethereum Foundation
  • Ethereum Foundation Blog
  • Ecosystem Support Program
  • Ethereum bug bounty program
  • Ecosystem Grant Programs
  • Ethereum brand assets
  • Devcon