mirror of
https://github.com/status-im/EIPs.git
synced 2025-02-23 04:08:09 +00:00
parent
3a078f91e4
commit
d12f21446e
106
EIPS/eip-2228.md
Normal file
106
EIPS/eip-2228.md
Normal file
@ -0,0 +1,106 @@
|
||||
---
|
||||
eip: 2228
|
||||
title: Canonicalize the name of network with chain ID 1
|
||||
author: William Entriken (@fulldecent)
|
||||
discussions-to: https://github.com/ethereum/EIPs/issues/2228
|
||||
status: Draft
|
||||
type: Informational
|
||||
created: 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:
|
||||
|
||||
* Vitalik has called it "main net" at http://eips.ethereum.org/EIPS/eip-155 http://eips.ethereum.org/EIPS/eip-170
|
||||
* Vitalik has called it "mainnet" at http://eips.ethereum.org/EIPS/eip-86
|
||||
* Vitalik has called it "Main net" at http://eips.ethereum.org/EIPS/eip-2* http://eips.ethereum.org/EIPS/eip-150
|
||||
* \* In EIP-2, it is unclear if the first letter is capital because it is a proper noun or if it is the the first word in a text column presented in sentence case
|
||||
* Vitalik has called it "Mainnet" at http://eips.ethereum.org/EIPS/eip-7
|
||||
* Geth documentation calls its "mainnet" at https://geth.ethereum.org/support/FAQ
|
||||
* A final EIP here has referred to it as "Mainnet" at http://eips.ethereum.org/EIPS/eip-779
|
||||
|
||||
## 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](./eip-2.md) Homestead Hard-fork Changes.
|
||||
1. [EIP-7](./eip-7.md) DELEGATECALL.
|
||||
1. [EIP-150](./eip-150.md) Gas cost changes for IO-heavy operations.
|
||||
1. [EIP-155](./eip-155.md) Simple replay attack protection.
|
||||
1. [EIP-170](./eip-170.md) Contract code size limit.
|
||||
1. [EIP-779](./eip-779.md) Hardfork Meta: DAO Fork.
|
||||
|
||||
## Copyright
|
||||
|
||||
Copyright and related rights waived via [CC0](https://creativecommons.org/publicdomain/zero/1.0/).
|
Loading…
x
Reference in New Issue
Block a user