diff --git a/cmd/geth/consolecmd.go b/cmd/geth/consolecmd.go index 051962be47..2c6b166875 100644 --- a/cmd/geth/consolecmd.go +++ b/cmd/geth/consolecmd.go @@ -20,6 +20,7 @@ import ( "fmt" "os" "os/signal" + "path/filepath" "strings" "github.com/ethereum/go-ethereum/cmd/utils" @@ -114,8 +115,15 @@ func localConsole(ctx *cli.Context) error { func remoteConsole(ctx *cli.Context) error { // Attach to a remotely running geth instance and start the JavaScript console endpoint := ctx.Args().First() - if endpoint == "" && ctx.GlobalIsSet(utils.DataDirFlag.Name) { - endpoint = fmt.Sprintf("%s/geth.ipc", ctx.GlobalString(utils.DataDirFlag.Name)) + if endpoint == "" { + path := node.DefaultDataDir() + if ctx.GlobalIsSet(utils.DataDirFlag.Name) { + path = ctx.GlobalString(utils.DataDirFlag.Name) + } + if path != "" && ctx.GlobalBool(utils.TestnetFlag.Name) { + path = filepath.Join(path, "testnet") + } + endpoint = fmt.Sprintf("%s/geth.ipc", path) } client, err := dialRPC(endpoint) if err != nil {