Although there are a considerable amount of references available on establishing a public network using Ethereum, there's quite a few concerning private networks. Some of the important points to be noted are, The network Id should be any other value than 1. 1 is the default networkId of the main network. So when the networkId is different your nodes will not connect to the main network, thereby creating an isolated, private network. You can either pregenerate or mine your own ether . Should have a custom genesis file . Should have a separate custom data directory for the nodes. Node Discovery should be disabled. This is so that the node is not discoverable by people who do not add you manually. If not, your node may get added to an unknown blockchain having the same networkId and genesis block. Step 1 - Custom genesis file The protocol validates if the blockchains on two nodes has the same genesis file in order to identify if its the same bloc...