diff --git a/electrum b/electrum index 44b899ed..1fff873b 100755 --- a/electrum +++ b/electrum @@ -328,12 +328,7 @@ if __name__ == '__main__': if server is not None: result = server.gui(config_options) else: - if not config.get('offline'): - network = Network(config) - network.start() - else: - network = None - daemon = Daemon(config, network) + daemon = Daemon(config) daemon.start() gui = init_gui(config, daemon, plugins) daemon.gui = gui @@ -351,12 +346,10 @@ if __name__ == '__main__': elif subcommand == 'start': p = os.fork() if p == 0: - network = Network(config) - network.start() - daemon = Daemon(config, network) + daemon = Daemon(config) if config.get('websocket_server'): from electrum import websockets - websockets.WebSocketServer(config, network).start() + websockets.WebSocketServer(config, daemon.network).start() if config.get('requests_dir'): util.check_www_dir(config.get('requests_dir')) daemon.start() diff --git a/lib/daemon.py b/lib/daemon.py index 44c2ea28..c9ab5033 100644 --- a/lib/daemon.py +++ b/lib/daemon.py @@ -21,6 +21,7 @@ import ast, os import jsonrpclib from jsonrpclib.SimpleJSONRPCServer import SimpleJSONRPCServer, SimpleJSONRPCRequestHandler +from network import Network from util import json_decode, DaemonThread from wallet import WalletStorage, Wallet from wizard import WizardBase @@ -62,10 +63,14 @@ class RequestHandler(SimpleJSONRPCRequestHandler): class Daemon(DaemonThread): - def __init__(self, config, network): + def __init__(self, config): DaemonThread.__init__(self) self.config = config - self.network = network + if config.get('offline'): + self.network = None + else: + self.network = Network(config) + self.network.start() self.gui = None self.wallets = {} self.wallet = None