daemon
This commit is contained in:
parent
be506af246
commit
3941743c72
15
electrum
15
electrum
|
@ -121,7 +121,7 @@ def run_command(cmd, password=None, args=[]):
|
||||||
try:
|
try:
|
||||||
result = func(*args[1:])
|
result = func(*args[1:])
|
||||||
except socket.error:
|
except socket.error:
|
||||||
print "Network server not found."
|
print "Daemon not running"
|
||||||
sys.exit(1)
|
sys.exit(1)
|
||||||
except Exception:
|
except Exception:
|
||||||
traceback.print_exc(file=sys.stdout)
|
traceback.print_exc(file=sys.stdout)
|
||||||
|
@ -222,9 +222,6 @@ if __name__ == '__main__':
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
if cmd.name in ['create', 'restore']:
|
if cmd.name in ['create', 'restore']:
|
||||||
if storage.file_exists:
|
if storage.file_exists:
|
||||||
sys.exit("Error: Remove the existing wallet first!")
|
sys.exit("Error: Remove the existing wallet first!")
|
||||||
|
@ -370,7 +367,7 @@ if __name__ == '__main__':
|
||||||
args = args[0:cmd.min_args] + [message]
|
args = args[0:cmd.min_args] + [message]
|
||||||
|
|
||||||
|
|
||||||
if cmd.name == 'start_network':
|
if cmd.name == 'daemon' and args[1] == 'start':
|
||||||
pid = os.fork()
|
pid = os.fork()
|
||||||
if (pid == 0): # The first child.
|
if (pid == 0): # The first child.
|
||||||
os.chdir("/")
|
os.chdir("/")
|
||||||
|
@ -397,13 +394,9 @@ if __name__ == '__main__':
|
||||||
server.running = True
|
server.running = True
|
||||||
while server.running:
|
while server.running:
|
||||||
server.handle_request()
|
server.handle_request()
|
||||||
print_msg("Server stopped")
|
print_msg("Daemon stopped")
|
||||||
sys.exit(0)
|
|
||||||
else:
|
|
||||||
sys.exit(0)
|
|
||||||
else:
|
|
||||||
sys.exit(0)
|
|
||||||
|
|
||||||
|
sys.exit(0)
|
||||||
|
|
||||||
# run the command
|
# run the command
|
||||||
if cmd.name == 'deseed':
|
if cmd.name == 'deseed':
|
||||||
|
|
|
@ -96,8 +96,8 @@ register_command('unfreeze', 1, 1, False, True, False, 'Unfreeze th
|
||||||
register_command('validateaddress', 1, 1, False, False, False, 'Check that the address is valid', 'validateaddress <address>')
|
register_command('validateaddress', 1, 1, False, False, False, 'Check that the address is valid', 'validateaddress <address>')
|
||||||
register_command('verifymessage', 3,-1, False, False, False, 'Verifies a signature', verifymessage_syntax)
|
register_command('verifymessage', 3,-1, False, False, False, 'Verifies a signature', verifymessage_syntax)
|
||||||
|
|
||||||
register_command('start_network', 0, 0, False, False, False, 'start the daemon')
|
register_command('daemon', 1, 1, True, False, False, 'start/stop daemon')
|
||||||
register_command('stop_network', 0, 0, True, False, False, 'stop the daemon')
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@ -126,8 +126,16 @@ class Commands:
|
||||||
return self.network.synchronous_get([ ('blockchain.address.get_history',[addr]) ])[0]
|
return self.network.synchronous_get([ ('blockchain.address.get_history',[addr]) ])[0]
|
||||||
|
|
||||||
|
|
||||||
def stop_network(self):
|
def daemon(self, arg):
|
||||||
return self.network.stop()
|
if arg=='stop':
|
||||||
|
return self.network.stop()
|
||||||
|
elif arg=='status':
|
||||||
|
return {
|
||||||
|
'server':self.network.main_server(),
|
||||||
|
'connected':self.network.is_connected()
|
||||||
|
}
|
||||||
|
else:
|
||||||
|
return "unknown command \"%s\""% arg
|
||||||
|
|
||||||
|
|
||||||
def listunspent(self):
|
def listunspent(self):
|
||||||
|
@ -138,7 +146,7 @@ class Commands:
|
||||||
|
|
||||||
|
|
||||||
def getaddressunspent(self, addr):
|
def getaddressunspent(self, addr):
|
||||||
return self.network.synchronous_get([ ('blockchain.address.getunspent',[addr]) ])[0]
|
return self.network.synchronous_get([ ('blockchain.address.listunspent',[addr]) ])[0]
|
||||||
|
|
||||||
|
|
||||||
def createrawtransaction(self, inputs, outputs):
|
def createrawtransaction(self, inputs, outputs):
|
||||||
|
@ -211,11 +219,8 @@ class Commands:
|
||||||
return out
|
return out
|
||||||
|
|
||||||
def getaddressbalance(self, addr):
|
def getaddressbalance(self, addr):
|
||||||
# c, u = self.wallet.get_addr_balance(addr)
|
b = self.network.synchronous_get([ ('blockchain.address.get_balance',[addr]) ])[0]
|
||||||
# out = { "confirmed": str(Decimal(c)/100000000) }
|
return str(Decimal(b)/100000000)
|
||||||
# if u: out["unconfirmed"] = str(Decimal(u)/100000000)
|
|
||||||
# return out
|
|
||||||
return self.network.synchronous_get([ ('blockchain.address.get_balance',[addr]) ])[0]
|
|
||||||
|
|
||||||
def getservers(self):
|
def getservers(self):
|
||||||
return self.network.get_servers()
|
return self.network.get_servers()
|
||||||
|
|
|
@ -421,6 +421,16 @@ class Network(threading.Thread):
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
class NetworkProxy:
|
||||||
|
# interface to the network object.
|
||||||
|
# handle subscriptions and callbacks
|
||||||
|
# the network object can be jsonrpc server
|
||||||
|
def __init__(self, network):
|
||||||
|
self.network = network
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
if __name__ == "__main__":
|
if __name__ == "__main__":
|
||||||
import simple_config
|
import simple_config
|
||||||
config = simple_config.SimpleConfig({'verbose':True, 'server':'ecdsa.org:50002:s'})
|
config = simple_config.SimpleConfig({'verbose':True, 'server':'ecdsa.org:50002:s'})
|
||||||
|
|
|
@ -5,7 +5,7 @@
|
||||||
import time, electrum
|
import time, electrum
|
||||||
|
|
||||||
# 1. start the interface and wait for connection
|
# 1. start the interface and wait for connection
|
||||||
interface = electrum.Interface('electrum.no-ip.org:50002:s')
|
interface = electrum.Interface('ecdsa.net:50002:s')
|
||||||
interface.start(wait = True)
|
interface.start(wait = True)
|
||||||
if not interface.is_connected:
|
if not interface.is_connected:
|
||||||
print "not connected"
|
print "not connected"
|
||||||
|
|
Loading…
Reference in New Issue