Parity Private Network – Adding Private Network Peers to Parity

parityprivate-blockchain

If possible, I would like to use parity with my private ethereum network.

This answer (https://ethereum.stackexchange.com/a/9148/4575) provides us a solution that geth will run on the background and parity will pull information from geth.

[Q] Is it possible to run only parity (geth won't run on the background) that is connect to the private etheum network and do mining, deploy contract, send transactions etc.?

If yes is there any well explained tutorial related to adding private network peers to Parity and make Parity to connect into the private network's chain instead of the public ethereum's chain.

Is this link might help me?https://github.com/ethcore/parity/wiki/Configuring-Parity. If yes which parameters should I focus on to change?
Also how could I add admin.addPeer("enode://<id>@<ip>:<port>?discport=0"); and provide the --networkid to Parity to allow it to connect into the private network like we could do in geth?

Example by using geth as follows I can connect into my private network:

id="<enodeId>";
datapath="/MyEthereumEbloc"
geth --networkid 23422 --datadir="$datapath" --rpccorsdomain '*' --rpc --rpcaddr "localhost" --rpccorsdomain="*" --rpcport="8545"--bootnodes enode://$id@<ip>:<port>

Please note that I was not able to find any tutorial related make parity connect into private ethereum network, which might be very helpful.

Thank you for your valuable time and help.

Best Answer

Not sure if I get your question correctly. Assuming you have a private network running with 5 clients on network ID 13337 and myGenesis.json chain configuration.

  • enode://0000..0001@192.168.178.101:36541
  • enode://0000..0002@192.168.178.102:36542
  • enode://0000..0003@192.168.178.103:36543
  • enode://0000..0004@192.168.178.104:36544
  • enode://0000..0005@192.168.178.105:36545

Add these nodes to a file, let's say myPrivateNetwork.txt, one entry per line:

enode://0000..0001@192.168.178.101:36541
enode://0000..0002@192.168.178.102:36542
enode://0000..0003@192.168.178.103:36543
enode://0000..0004@192.168.178.104:36544
enode://0000..0005@192.168.178.105:36545

And subsequently, run Parity with --chain myGenesis.json --network-id 13337 --reserved-peers myPrivateNetwork.txt --reserved-only. Or add it to the config file:

[parity]
chain = "myGenesis.json"

[network]
id = 13337
reserved_only = true
reserved_peers = "./myPrivateNetwork.txt"

This will establish a private network containing only your nodes:

--reserved-peers FILE        Provide a file containing enodes, one per line.
                             These nodes will always have a reserved slot on top
                             of the normal maximum peers. (default: None)
--reserved-only              Connect only to reserved nodes. (default: false)

Adding reserved peers also works from the Web3 console by issuing:

api.parity.addReservedPeer('enode://0000..0007@192.168.178.107:36547')

Note, that you have to enable the parity json rpc api.

You can also run a private development chain with parity --chain dev.

Related Topic