"""
-import time, socket, operator, thread, ast, sys
+import time, socket, operator, thread, ast, sys,re
import psycopg2, binascii
-import bitcoin
+import bitcoinrpc
from Abe.abe import hash_to_address, decode_check_address
from Abe.DataStore import DataStore as Datastore_class
def send_tx(tx):
- import bitcoin
- conn = bitcoin.connect_to_local()
+ import bitcoinrpc
+ conn = bitcoinrpc.connect_to_local()
try:
v = conn.importtransaction(tx)
except:
sessions[session_id] = {}
for a in addresses:
sessions[session_id][a] = ''
- out = repr( (session_id, config.get('server','banner')) )
+ out = repr( (session_id, config.get('server','banner').replace('\\n','\n') ) )
sessions_last_time[session_id] = time.time()
elif cmd=='poll':
def memorypool_update(store):
- conn = bitcoin.connect_to_local()
+ conn = bitcoinrpc.connect_to_local()
try:
v = conn.getmemorypool()
except:
try:
s = socket.socket()
s.connect(('irc.freenode.net', 6667))
- s.send('USER '+NICK+' '+NICK+' bla :'+NICK+'\n')
- s.send('NICK '+NICK+'\n')
+ s.send('USER '+config.get('server','host')+' '+NICK+' bla :'+NICK+'\n')
+ s.send('NICK '+NICK+'\n')
s.send('JOIN #electrum\n')
t = 0
while not stopping:
s.send('USERHOST %s\n'%item)
elif '302' in line: # answer to /userhost
k = line.index('302')
- name = line[k+2].split('=')[0]
- host = line[k+2].split('@')[1]
- peer_list[name] = host
+ m = re.match( "^:(.*?)=\+~(.*?)@(.*?)$", line[k+2] )
+ if m:
+ name = m.group(1)
+ host = m.group(2)
+ ip = m.group(3)
+ peer_list[name] = (ip,host)
elif time.time() - t > 5*60:
s.send('NAMES #electrum\n')
t = time.time()