10

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.

5

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.

  • 1
    Sure, just see my answer and set reserved_only to false. – Waqar Lim Mar 13 '17 at 19:04
  • 1
    No, Parity uses a slightly different format, but there is a tool to convert geth genesis to parity genesis. Somewhere. – Waqar Lim Mar 14 '17 at 8:20
  • 2
    ^ github.com/keorn/parity-spec – Joël Mar 15 '17 at 0:50
  • 1
    Parity Console: ethereum.stackexchange.com/questions/13196 / It's better to use reserved peers rather than bootnodes. – Waqar Lim Mar 17 '17 at 13:12
  • 1
    You maybe should get on Gitter and we can sort this out :) – Waqar Lim Mar 18 '17 at 8:36
4

To add a reserved peer via JSONRPC API, you can do this with:

curl --data '{"method":"parity_addReservedPeer","params":["enode://a979fb575495b8d6db44f750317d0f4622bf4c2aa3365d6af7c284339968eef29b69ad0dce72a4d8db5ebb4968de0e3bec910127f134779fbcb0cb6d3331163c@22.99.55.44:7770"],"id":1,"jsonrpc":"2.0"}' -H "Content-Type: application/json" -X POST localhost:8545

Make sure you have parity_set JSONRPC API enabled.

You can also call it directly from the Parity console with:

api.parity.addReservedPeer("enode://a979fb575495b8d6db44f750317d0f4622bf4c2aa3365d6af7c284339968eef29b69ad0dce72a4d8db5ebb4968de0e3bec910127f134779fbcb0cb6d3331163c@22.99.55.44:7770")

For this, ensure you have parity_set DApps API enabled.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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