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

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

1 Answer 1


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... Commented Jan 31, 2018 at 5:20
  • There was a " that should not be there.
    – Ismael
    Commented Jan 31, 2018 at 5:28
  • 1
    Sorry, works like charm now :) Commented Jan 31, 2018 at 5:30

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