33

We're starting a new open network based on the Ethereum protocol. The question is how to allocate a network id for the new network. In Ethereum we have main net, four test networks, classic with test network etc.

Is there a list of network ids? If not, let's create one.

65

May be there is a list of network ids? If not, let's create one.

Good idea.

  • 0: Olympic, Ethereum public pre-release PoW testnet
  • 1: Frontier, Homestead, Metropolis, the Ethereum public PoW main network
  • 1: Classic, the (un)forked public Ethereum Classic PoW main network, chain ID 61
  • 1: Expanse, an alternative Ethereum implementation, chain ID 2
  • 2: Morden Classic, the public Ethereum Classic PoW testnet
  • 3: Ropsten, the public cross-client Ethereum PoW testnet
  • 4: Rinkeby, the public Geth-only PoA testnet
  • 5: Goerli, the public cross-client PoA testnet
  • 6: Kotti Classic, the public cross-client PoA testnet for Classic
  • 8: Ubiq, the public Gubiq main network with flux difficulty chain ID 8
  • 42: Kovan, the public Parity-only PoA testnet
  • 77: Sokol, the public POA Network testnet
  • 99: Core, the public POA Network main network
  • 100: xDai, the public MakerDAO/POA Network main network
  • 401697: Tobalaba, the public Energy Web Foundation testnet
  • 7762959: Musicoin, the music blockchain
  • 61717561: Aquachain, ASIC resistant chain
  • [Other]: Could indicate that your connected to a local development test network.
10

For any geth node to join a network there are 2 requirement one is to have the same genesis block and other is to have the same networkid. Once these requirements are satisfied, to join a network you have to know the enodeid of the nodes you want to connect to.

In case of open Ethereum networks like mainnet or testnet, you have a set of bootnodes hardcoded into your geth client where you can connect and discover other peers in the network. These bootnodes actually have a list of nodes that are connected to it in the last 24 hrs and they give out that list to you and then you can connect to those nodes. This is how you connect to other nodes in a Ethereum public network.

So if you want to create a new open network then create a genesis file, select some networkid, start some bootnodes and share these details about genesis file, networkid and list of bootnodes with the participants of network and then they will be able to join your network.

I don't think there is any constraint over which networkid to choose if we have done all the above steps correctly.

Your Answer

By clicking "Post Your Answer", you acknowledge that you have read our updated terms of service, privacy policy and cookie policy, and that your continued use of the website is subject to these policies.

Not the answer you're looking for? Browse other questions tagged or ask your own question.