except:
log.err()
- node.p2p_node = p2pool_node.P2PNode(node, args.p2pool_port, args.p2pool_conns, addrs, connect_addrs)
+ node.p2p_node = p2pool_node.P2PNode(node,
+ port=args.p2pool_port,
+ max_incoming_conns=args.p2pool_conns,
+ addr_store=addrs,
+ connect_addrs=connect_addrs,
+ desired_outgoing_conns=args.p2pool_outgoing_conns,
+ )
node.p2p_node.start()
def save_addrs():
p2pool_group.add_argument('--max-conns', metavar='CONNS',
help='maximum incoming connections (default: 40)',
type=int, action='store', default=40, dest='p2pool_conns')
+ p2pool_group.add_argument('--outgoing-conns', metavar='CONNS',
+ help='outgoing connections (default: 10)',
+ type=int, action='store', default=10, dest='p2pool_outgoing_conns')
worker_group = parser.add_argument_group('worker interface')
worker_group.add_argument('-w', '--worker-port', metavar='PORT or ADDR:PORT',
if args.p2pool_port is None:
args.p2pool_port = net.P2P_PORT
+ if args.p2pool_outgoing_conns > 10:
+ parser.error('''--outgoing-conns can't be more than 10''')
+
if args.worker_endpoint is None:
worker_endpoint = '', net.WORKER_PORT
elif ':' not in args.worker_endpoint:
class P2PNode(p2p.Node):
- def __init__(self, node, p2pool_port, p2pool_conns, addrs, connect_addrs):
+ def __init__(self, node, **kwargs):
self.node = node
p2p.Node.__init__(self,
best_share_hash_func=lambda: node.best_share_var.value,
- port=p2pool_port,
net=node.net,
- addr_store=addrs,
- connect_addrs=connect_addrs,
- max_incoming_conns=p2pool_conns,
known_txs_var=node.known_txs_var,
mining_txs_var=node.mining_txs_var,
- )
+ **kwargs)
def handle_shares(self, shares, peer):
if len(shares) > 5:
self.n = node.Node(factory, bitcoind, [], [], net)
yield self.n.start()
- self.n.p2p_node = node.P2PNode(self.n, 0, 1000000, {}, [('127.0.0.1', peer_port) for peer_port in peer_ports])
+ self.n.p2p_node = node.P2PNode(self.n, port=0, max_incoming_conns=1000000, addr_store={}, connect_addrs=[('127.0.0.1', peer_port) for peer_port in peer_ports])
self.n.p2p_node.start()
wb = work.WorkerBridge(node=self.n, my_pubkey_hash=random.randrange(2**160), donation_percentage=random.uniform(0, 10), merged_urls=merged_urls, worker_fee=3)