I've been reading on making a custom private chains here , here , here,here and here .

It's pretty clear how to create a custom chain and having remote client connect to the node with this :

geth attach                   # connect over IPC on default endpoint
geth attach ipc:/some/path    # connect over IPC on custom endpoint
geth attach http://host:8545  # connect over HTTP
geth attach ws://host:8546    # connect over websocket

But that's just a client connecting to the node.And not exactly another client running it's own node of my chain.

I'm wondering if it's possible to have a custom list of client(which are nodes) that can connect / use/ run a node of my privatenet but making it impossible for people outside that list from doing it.

Should that be done externally ? by restricting ip ? or can it be done any otherway? more internally ?

Any info / link for doing so is very welcome.

TLDR: I want a private chain with node 1 connected to node 2 connected to node 3 but managing who can connect to whom so that my data stays private but still need to be verified by multiple nodes to be included , much like what vitalik describe as a Consortium blockchain , here

1 Answer 1


Make a static-nodes.json file as described here so that your nodes connect to each other. https://souptacular.gitbooks.io/ethereum-tutorials-and-tips-by-hudson/content/private-chain.html

Also firewall off your nodes at the network level so that they can only talk to each other. You can do this with:

  • Individual firewall rules so traffic on the relevant port only goes in and out to the other nodes you specify
  • A VPN, so they talk to each other on a private network and the relevant ports are only on that network.
  • SSH tunnels kept alive with autossh or something.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

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