You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 

47 lines
1.9 KiB

#! /usr/bin/env python
import sys
from optparse import OptionParser
from jmclient import (load_program_config, jm_single,
add_base_options, JMWalletDaemon,
start_reactor)
from jmbase.support import get_log, EXIT_FAILURE
jlog = get_log()
def jmwalletd_main():
parser = OptionParser(usage='usage: %prog [options] [wallet file]')
parser.add_option('-p', '--port', action='store', type='int',
dest='port', default=28183,
help='the port over which to serve RPC, default 28183')
parser.add_option('-w', '--wss-port', action='store', type='int',
dest='wss_port', default=28283,
help='the port over which to serve websocket '
'subscriptions, default 28283')
# TODO: remove the non-relevant base options:
add_base_options(parser)
(options, args) = parser.parse_args()
load_program_config(config_path=options.datadir)
if jm_single().bc_interface is None:
jlog.error("Running jmwallet-daemon requires configured " +
"blockchain source.")
sys.exit(EXIT_FAILURE)
# if nothing was configured, we override bitcoind's options so that
# unconfirmed balance is included in the wallet display by default
if 'listunspent_args' not in jm_single().config.options('POLICY'):
jm_single().config.set('POLICY','listunspent_args', '[0]')
jlog.info("Starting jmwalletd on port: " + str(options.port))
jm_wallet_daemon = JMWalletDaemon(options.port, options.wss_port)
jm_wallet_daemon.startService()
nodaemon = jm_single().config.getint("DAEMON", "no_daemon")
daemon = True if nodaemon == 1 else False
start_reactor(jm_single().config.get("DAEMON", "daemon_host"),
jm_single().config.getint("DAEMON", "daemon_port"),
None, daemon=daemon)
if __name__ == "__main__":
jmwalletd_main()