4

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

Chris Martin
  • 103
  • 3
jayD
  • 2,462
  • 2
  • 14
  • 25

1 Answers1

3

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.
Edmund Edgar
  • 16,897
  • 1
  • 29
  • 58