* improve txpoint sorting
"""
-f = open('/etc/electrum.conf','r')
-SERVER_MESSAGE = f.read()
-f.close()
-
-
import time, socket, operator, thread, ast, sys
-
import psycopg2, binascii
import bitcoinrpc
from Abe.DataStore import DataStore as Datastore_class
from Abe import DataStore, readconf, BCDataStream, deserialize, util, base58
+try:
+ f = open('/etc/electrum.conf','r')
+ data = f.read()
+ f.close()
+ HOST, PORT, SERVER_MESSAGE = ast.literal_eval(data)
+except:
+ print "could not read /etc/electrum.conf"
+ SERVER_MESSAGE = "Welcome to Electrum"
+ HOST = 'ecdsa.org'
+ PORT = 50000
+
+
sessions = {}
dblock = thread.allocate_lock()
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)
- s.bind(('ecdsa.org', 50000))
+ s.bind((HOST, PORT))
s.listen(1)
while True:
conn, addr = s.accept()
elif cmd=='session':
import random, string
session_id = ''.join(random.choice(string.ascii_uppercase + string.digits) for x in range(10))
- print "new session", ipaddr, session_id, data
+ try:
+ addresses = ast.literal_eval(data)
+ except:
+ print "error"
+ conn.close()
+ return
+
+ print time.asctime(), "session", ipaddr, session_id, addresses[0], len(addresses)
- addresses = ast.literal_eval(data)
sessions[session_id] = {}
for a in addresses:
sessions[session_id][a] = ''
if __name__ == '__main__':
+ print "starting Electrum server"
conf = DataStore.CONFIG_DEFAULTS
args, argv = readconf.parse_argv( [], conf)
args.dbtype='psycopg2'
dblock.release()
except:
traceback.print_exc(file=sys.stdout)
+ print "continuing..."
time.sleep(10)