12

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.

2 Answers 2

7

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.

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

enode://[email protected]:36541
enode://[email protected]:36542
enode://[email protected]:36543
enode://0000..0004@192.168.178.104:36544
enode://[email protected]: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://[email protected]:36547')

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

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

10
  • 1
    Sure, just see my answer and set reserved_only to false.
    – q9f
    Mar 13, 2017 at 19:04
  • 1
    No, Parity uses a slightly different format, but there is a tool to convert geth genesis to parity genesis. Somewhere.
    – q9f
    Mar 14, 2017 at 8:20
  • 2
    ^ github.com/keorn/parity-spec
    – Joël
    Mar 15, 2017 at 0:50
  • 1
    Parity Console: ethereum.stackexchange.com/questions/13196 / It's better to use reserved peers rather than bootnodes.
    – q9f
    Mar 17, 2017 at 13:12
  • 1
    You maybe should get on Gitter and we can sort this out :)
    – q9f
    Mar 18, 2017 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://a979fb575495b8d6db44f750317d0f4622bf4c2aa3365d6af7c284339968eef29b69ad0dce72a4d8db5e[email protected]: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 and acknowledge that you have read and understand our privacy policy and code of conduct.

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