EIPs/EIPS/eip-2228.md
William Entriken d12f21446e
Create eip-2228.md (#3141)
Create eip-2228.md
2020-12-04 13:16:01 -07:00

5.1 KiB

eip title author discussions-to status type created
2228 Canonicalize the name of network with chain ID 1 William Entriken (@fulldecent) https://github.com/ethereum/EIPs/issues/2228 Draft Informational 2019-08-04

Simple Summary

The Ethereum network with chainid 1 is named Ethereum Mainnet.

Abstract

The name for the Ethereum network with network ID 1 and chain ID 1 shall be Ethereum Mainnet or just Mainnet. This is a proper noun.

This standard specifies the name for this network and provides reference examples in an effort to standardize the word choice and provide a common language for use to use to refer to this network.

Motivation

The Ethereum network with chainid 1 is referenced from authoritative sources using several names that are conflicting:

Specification

The network name shall be Ethereum Mainnet, or just Mainnet if the context is known to be discussing Ethereum networks. This IS a proper noun. Several examples are given below which differentiate between usage of the name of the network versus a descriptive reference to the network.

Any name or word styling (i.e. capitalization of the letters) of the network which is inconsistent with the test cases cited below shall NOT be used.

Rationale

Choosing common word use promotes interoperability of implementations and increases customer awareness. Also, it adds a sense of professionalism when customers see the same word and word styling (i.e. capitalization of letters) across different implementations.

Anybody that has travelled to certain countries and seen an "IPhone [sic]" repair store should immediately recognize that this is off-brand and unofficial. Likewise, the astute customer of Ethereum should recognize if they see the name of the network referred to using different names in different software, so let's avoid this.

Backwards Compatibility

  • MetaMask currently uses the wording "Main Ethereum Network" in the account network chooser. In this context, it is understood that "main" is used as an adjective, not a proper noun form. Such usage is acceptable per this EIP. Also, MetaMask is using "Main" and "Network" with a capitalized first letter for stylistic purposes, not to designate a proper noun.

  • Certain references to "Mainnet" and alternate spellings are published in EIPs made in the following published EIPs 2, 7, 150, 155, 170 and 779.

Test Cases

Examples referencing the name of the network

The contract was deployed to Ethereum Mainnet.

Ethereum runs many applications, this Dapp was deployed to Mainnet.

No specification is made on whether Dapp, dapp, dApp, etc. is preferred.

SWITCH TO MAINNET

This example shows a user interface which is in uppercase. To be semantically correct, this could be written in HTML as <span style="text-transform: uppercase">Switch to Mainnet</span>.

switch to mainnet

This example shows a user interface which is in lowercase. To be semantically correct, this could be written in HTML as <span style="text-transform: lowercase">Switch to Mainnet</span>.

Examples referencing the network in a descriptive way

Mainnet has ### times the number of transactions as the test networks.

Examples of other correct word usage

The main network on Ethereum is Mainnet

This shows that "main" is used as a descriptive word, but Mainnet is the specific network which is having chain ID 1.

Examples of poor word choice (avoid this)

Deploy your contract to the Ethereum main network.

This is referring to a "main" network which is context-dependent. If you were reading this text on a page about Ethereum Classic, they would be referring to network_id: 2 / chain_id: 62. Therefore this word usage is less crisp. Do NOT use wording like this.

Connect to mainnet.

These words literally mean nothing. The lowercase, not-proper-noun word "mainnet" is not a plain English word and it should not be in any dictionary. Do NOT use wording like this.

Implementation

An exhaustive list of examples is provided above in the specification and test cases sections.

References

Standards

  1. EIP-2 Homestead Hard-fork Changes.
  2. EIP-7 DELEGATECALL.
  3. EIP-150 Gas cost changes for IO-heavy operations.
  4. EIP-155 Simple replay attack protection.
  5. EIP-170 Contract code size limit.
  6. EIP-779 Hardfork Meta: DAO Fork.

Copyright and related rights waived via CC0.