diff --git a/node/node.go b/node/node.go index c35a509723..d46de56f45 100644 --- a/node/node.go +++ b/node/node.go @@ -147,6 +147,14 @@ func (n *Node) Start() error { return err } + if n.accman == nil { + var err error + n.accman, n.ephemeralKeystore, err = makeAccountManager(n.config) + if err != nil { + return err + } + } + // Initialize the p2p server. This creates the node key and // discovery databases. n.serverConfig = n.config.P2P @@ -435,6 +443,13 @@ func (n *Node) Stop() error { // unblock n.Wait close(n.stop) + if n.accman != nil { + if err := n.accman.Close(); err != nil { + return err + } + n.accman = nil + } + // Remove the keystore if it was created ephemerally. var keystoreErr error if n.ephemeralKeystore != "" {