else:
return x, args.net.P2P_PORT
- nodes = [
+ nodes = set([
('72.14.191.28', args.net.P2P_PORT),
('62.204.197.159', args.net.P2P_PORT),
- ]
+ ('142.58.248.28', args.net.P2P_PORT),
+ ])
try:
- nodes.append(((yield reactor.resolve('p2pool.forre.st')), args.net.P2P_PORT))
+ nodes.add(((yield reactor.resolve('p2pool.forre.st')), args.net.P2P_PORT))
except:
log.err(None, 'Error resolving bootstrap node IP:')
net=args.net,
addr_store=db.SQLiteDict(sqlite3.connect(os.path.join(os.path.dirname(sys.argv[0]), 'addrs.dat'), isolation_level=None), args.net.ADDRS_TABLE),
mode=0 if args.low_bandwidth else 1,
- preferred_addrs=map(parse, args.p2pool_nodes) + nodes,
+ preferred_addrs=set(map(parse, args.p2pool_nodes)) | nodes,
)
p2p_node.handle_shares = p2p_shares
p2p_node.handle_share_hashes = p2p_share_hashes
return v['services'], v['first_seen'], v['last_seen']
class Node(object):
- def __init__(self, current_work, port, net, addr_store=None, preferred_addrs=[], mode=0, desired_peers=10, max_attempts=100, preferred_storage=1000):
+ def __init__(self, current_work, port, net, addr_store=None, preferred_addrs=set(), mode=0, desired_peers=10, max_attempts=100, preferred_storage=1000):
if addr_store is None:
addr_store = {}
try:
if len(self.peers) < self.desired_peers and len(self.attempts) < self.max_attempts and (len(self.preferred_addrs) or len(self.addr_store)):
if (random.randrange(2) and len(self.preferred_addrs)) or not len(self.addr_store):
- host, port = random.choice(self.preferred_addrs)
+ host, port = random.choice(list(self.preferred_addrs))
else:
host, port = random.choice(self.addr_store.keys())