From cc0064b267aa0f9b5899e430f5e179d5229bc204 Mon Sep 17 00:00:00 2001 From: Felix Lange Date: Thu, 10 Nov 2016 17:03:24 +0100 Subject: [PATCH] node: add InstanceDir method --- node/config.go | 11 +++++++++-- node/node.go | 6 ++++++ 2 files changed, 15 insertions(+), 2 deletions(-) diff --git a/node/config.go b/node/config.go index 8af9215a05..dbefcb8a56 100644 --- a/node/config.go +++ b/node/config.go @@ -268,7 +268,7 @@ func (c *Config) name() string { return c.Name } -// These resources are resolved differently for the "geth" and "geth-testnet" instances. +// These resources are resolved differently for "geth" instances. var isOldGethResource = map[string]bool{ "chaindata": true, "nodes": true, @@ -297,7 +297,14 @@ func (c *Config) resolvePath(path string) string { return oldpath } } - return filepath.Join(c.DataDir, c.name(), path) + return filepath.Join(c.instanceDir(), path) +} + +func (c *Config) instanceDir() string { + if c.DataDir == "" { + return "" + } + return filepath.Join(c.DataDir, c.name()) } // NodeKey retrieves the currently configured private key of the node, checking diff --git a/node/node.go b/node/node.go index 15f43fc6b2..fb11696faa 100644 --- a/node/node.go +++ b/node/node.go @@ -601,10 +601,16 @@ func (n *Node) Service(service interface{}) error { } // DataDir retrieves the current datadir used by the protocol stack. +// Deprecated: No files should be stored in this directory, use InstanceDir instead. func (n *Node) DataDir() string { return n.config.DataDir } +// InstanceDir retrieves the instance directory used by the protocol stack. +func (n *Node) InstanceDir() string { + return n.config.instanceDir() +} + // AccountManager retrieves the account manager used by the protocol stack. func (n *Node) AccountManager() *accounts.Manager { return n.accman