0

This question already has an answer here:

I have seen similar question about the geth.ipc file (I can't find my geth.ipc), I am on Windows 7.

I am not able to see geth.ipc file after running geth as said in the other question thread, tough I am able to connect to geth in other instance of command window using (>geth attach) without passing the path for geth.ipc, my question is the new version of geth does not create geth.ipc?

geth attach ipc:MyPvtBlockChain1/geth.ipc

Executing the above command says

Fatal:Unable to attach to remote geth: Invalid pipe address MyPvtBlockChain/geth.ipc

The problem is that I have created two private blockchains on my machine now. It is a problem to connect these two separate blockchains without the geth.ipc file. Both my geth attach command connect to same geth node instance and not separate blockchains I have created, I have checked it using admin.nodeInfo command and both windows point to the same geth node.

When I try to run geth on the another private blockchain like this, the --ipcpath is requried here, but as I do not have access to geth.ipc file there is no way I can run geth on the my second blockchain instance which would require the command below, which takes details of my second blockchain and run it on a seperate port number.

Run Geth for first blockchain

geth --datadir MyPvtBlockChainData1 --port 30303 --nodiscover --ipcpath MyPvtBlockChainData1/geth.ipc" --networkid 1234 console

Run Geth for second blockchain

geth --datadir MyPvtBlockChainData2 --port 30304 --nodiscover --ipcpath MyPvtBlockChainData2/geth.ipc" --networkid 1234 console

marked as duplicate by Ismael, Achala Dissanayake, Richard Horrocks, flygoing, Roman Frolov Jan 31 '18 at 21:44

This question has been asked before and already has an answer. If those answers do not fully address your question, please ask a new question.

  • I'm not running geth on windows so I can't speak from experience but does this help? – TC8 Jan 30 '18 at 13:57
3

On Windows geth uses named pipes. The named pipes do not exists as a files in your filesystems but as object in the window's kernel.

All such objects are located in the path \\.\pipe. For example geth uses geth.ipc and the named pipe is at \\.\pipe\geth.ipc. On Windows geth you can only set the name and not the path --ipcpath geth-demo.ipc.

To run two instances you have to specify different names for each instance

geth --datadir datadir1 --port 30303 --nodiscover --ipcpath geth-data1.ipc --networkid 1234 console

geth --datadir datadir2 --port 30304 --nodiscover --ipcpath geth-data2.ipc --networkid 1234 console

Now you can connect to the first instance with

geth attach ipc:\\.\pipe\geth-data1.ipc

And the second instance with

geth attach ipc:\\.\pipe\geth-data2.ipc

  • This does not work geth --datadir datadir1 --port 30303 --nodiscover --ipcpath geth-data1.ipc" --networkid 1234 console trying to run that is just standing their and not running geth at all... – Praveen Kumar Jan 31 '18 at 5:20
  • There was a " that should not be there. – Ismael Jan 31 '18 at 5:28
  • 1
    Sorry, works like charm now :) – Praveen Kumar Jan 31 '18 at 5:30

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