import time, threading
-
class AbeStore(Datastore_class):
- addrtype = 48
-
def __init__(self, config):
conf = DataStore.CONFIG_DEFAULTS
args, argv = readconf.parse_argv( [], conf)
elif args.dbtype == 'psycopg2':
args.connect_args = { 'database' : config.get('database','database') }
+ coin = config.get('server', 'coin')
+ self.addrtype = 0
+ if coin == 'litecoin':
+ print 'Litecoin settings:'
+ datadir = config.get('server','datadir')
+ print ' datadir = ' + datadir
+ args.datadir = [{"dirname":datadir,"chain":"Litecoin","code3":"LTC","address_version":"\u0030"}]
+ print ' addrtype = 48'
+ self.addrtype = 48
+
Datastore_class.__init__(self,args)
self.sql_limit = int( config.get('database','limit') )
#print "WARNING: missing tx_in for tx", txid
continue
- address = hash_to_address(chr(addrtype), _hash)
+ address = hash_to_address(chr(self.addrtype), _hash)
if self.tx_cache.has_key(address):
print "cache: invalidating", address
self.tx_cache.pop(address)
#print "WARNING: missing tx_out for tx", txid
continue
- address = hash_to_address(chr(addrtype), _hash)
+ address = hash_to_address(chr(self.addrtype), _hash)
if self.tx_cache.has_key(address):
print "cache: invalidating", address
self.tx_cache.pop(address)
if not _hash:
#print "WARNING: missing tx_in for tx", tx_id, addr
continue
- address = hash_to_address(chr(addrtype), _hash)
+ address = hash_to_address(chr(self.addrtype), _hash)
txinputs.append(address)
txpoint['inputs'] = txinputs
txoutputs = []
if not _hash:
#print "WARNING: missing tx_out for tx", tx_id, addr
continue
- address = hash_to_address(chr(addrtype), _hash)
+ address = hash_to_address(chr(self.addrtype), _hash)
txoutputs.append(address)
txpoint['outputs'] = txoutputs
self.host = config.get('server','host')
self.nick = config.get('server', 'irc_nick')
if not self.nick: self.nick = random_string(10)
+ self.prepend = 'E_'
+ if config.get('server', 'coin') == 'litecoin':
+ self.prepend = 'EL_'
+ self.nick = self.prepend + self.nick
def get_peers(self):
return self.peers.values()
s = socket.socket()
s.connect(('irc.freenode.net', 6667))
s.send('USER electrum 0 * :' + self.host + ' ' + ircname + '\n')
- s.send('NICK EL_' + self.nick + '\n')
+ s.send('NICK ' + self.nick + '\n')
s.send('JOIN #electrum\n')
sf = s.makefile('r', 0)
t = 0
elif '353' in line: # answer to /names
k = line.index('353')
for item in line[k+1:]:
- if item[0:2] == 'EL_':
+ if item.startswith(self.prepend):
s.send('WHO %s\n'%item)
elif '352' in line: # answer to /who
# warning: this is a horrible hack which apparently works
config.set('server', 'password', '')
config.set('server', 'irc', 'yes')
config.set('server', 'irc_nick', '')
+ config.set('server', 'coin', '')
+ config.set('server', 'datadir', '')
config.add_section('database')
config.set('database', 'type', 'psycopg2')
config.set('database', 'database', 'abe')