I am referring to the main page of go-ethereum here.
With the genesis state defined in the above JSON file, you'll need to initialize every Geth node with it prior to starting it up to ensure all blockchain parameters are correctly set:
$ geth init path/to/genesis.json
If I have a bootnode in my local LAN, should my nodes be able to download the genesis.json on their own? Or do I have to manually copy the genesis.json and execute the init command above on each of the nodes?
If it indeed requires this genesis.json to be copied to each of my nodes, how does it work with the main ethereum blockchain? Does ethminer/geth(any mining client) acually have a copy of the original genesis.json hard-coded?
Also, do I have to specify --networkid 1234 in case I have defined the chainId as 1234 in the genesis.json already?