Hi Slush,
here's a patch I've made against Stratum-Mining-Proxy 1.3.0.
Changes:
- displaying pool and share diff similar like cgminer does
- reducing logging stuff
Then I submit a share, I expect the pool will accept it. Therefore the accepted share log is redundant info.
Here's the output using my patch:
2013-01-08 17:11:36,686 INFO proxy jobs.submit # Submitting share cc48b0bc diff 3/2
2013-01-08 17:11:38,198 INFO proxy jobs.submit # Submitting share 97d627b5 diff 19/2
2013-01-08 17:11:39,335 INFO proxy client_service.handle_event # New job 7ba2 for prevhash fce0b8c2, clean_jobs=False
2013-01-08 17:11:40,469 INFO proxy jobs.submit # Submitting share 420bc001 diff 3/2
2013-01-08 17:11:40,856 INFO proxy jobs.submit # Submitting share 82517ba6 diff 36/2
2013-01-08 17:11:41,105 INFO proxy jobs.submit # Submitting share 55f1c8b9 diff 2/2
2013-01-08 17:11:42,227 INFO proxy jobs.submit # Submitting share 45be6ce3 diff 4/2
2013-01-08 17:11:43,356 INFO proxy jobs.submit # Submitting share 8280834b diff 5/2
2013-01-08 17:11:44,854 INFO proxy jobs.submit # Submitting share 17f85864 diff 3/2
2013-01-08 17:11:44,897 INFO proxy jobs.submit # Submitting share b2f7eec6 diff 9/2
2013-01-08 17:11:44,939 INFO proxy jobs.submit # Submitting share 0bf1a7ce diff 3/2
2013-01-08 17:11:46,015 INFO proxy jobs.submit # Submitting share 4e378813 diff 3/2
2013-01-08 17:11:46,281 INFO proxy jobs.submit # Submitting share 7292f80f diff 2/2
2013-01-08 17:11:46,608 INFO proxy jobs.submit # Submitting share 688891d3 diff 2/2
2013-01-08 17:11:47,233 INFO proxy jobs.submit # Submitting share e943f6c9 diff 3/2
2013-01-08 17:11:47,517 INFO proxy jobs.submit # Submitting share 6ce77628 diff 4/2
2013-01-08 17:11:47,737 INFO proxy jobs.submit # Submitting share dfb7d8dd diff 4/2
2013-01-08 17:11:48,701 INFO proxy jobs.submit # Submitting share e2f03289 diff 17/2
2013-01-08 17:11:48,735 INFO proxy jobs.submit # Submitting share d85a653b diff 17/2
2013-01-08 17:11:49,017 INFO proxy jobs.submit # Submitting share 7b7e3ea0 diff 739/2
2013-01-08 17:11:50,984 INFO proxy jobs.submit # Submitting share f8190c47 diff 2/2
2013-01-08 17:11:51,077 INFO proxy jobs.submit # Submitting share 0d0b3a53 diff 3/2
Here's the patch:
diff -Naur stratum-mining-proxy-master//mining_libs/getwork_listener.py stratum-1.3.0//mining_libs/getwork_listener.py
--- stratum-mining-proxy-master//mining_libs/getwork_listener.py 2012-12-13 18:52:36.000000000 +0100
+++ stratum-1.3.0//mining_libs/getwork_listener.py 2012-12-19 18:48:13.894302270 +0100
@@ -36,7 +36,7 @@
def _on_submit(self, result, request, msg_id, blockheader, worker_name, start_time):
response_time = (time.time() - start_time) * 1000
if result == True:
- log.warning("[%dms] Share from '%s' accepted, diff %d" % (response_time, worker_name, self.job_registry.difficulty))
+ log.debug("[%dms] Share from '%s' accepted, diff %d" % (response_time, worker_name, self.job_registry.difficulty))
else:
log.warning("[%dms] Share from '%s' REJECTED" % (response_time, worker_name))
@@ -81,7 +81,7 @@
if 'params' not in data or not len(data['params']):
# getwork request
- log.info("Worker '%s' asks for new work" % worker_name)
+ log.debug("Worker '%s' asks for new work" % worker_name)
extensions = request.getHeader('x-mining-extensions')
no_midstate = extensions and 'midstate' in extensions
request.write(self.json_response(data.get('id', 0), self.job_registry.getwork(no_midstate=no_midstate)))
diff -Naur stratum-mining-proxy-master//mining_libs/jobs.py stratum-1.3.0//mining_libs/jobs.py
--- stratum-mining-proxy-master//mining_libs/jobs.py 2012-12-13 18:52:36.000000000 +0100
+++ stratum-1.3.0//mining_libs/jobs.py 2012-12-19 18:59:29.825631912 +0100
@@ -92,6 +92,7 @@
self.target_hex = ''
self.difficulty = 1
self.set_difficulty(1)
+ self.target1 = self.target
self.target1_hex = self.target_hex
# Relation between merkle and job
@@ -223,14 +224,17 @@
rev = ''.join([ header_bin[i*4:i*4+4][::-1] for i in range(0, 20) ])
hash_bin = utils.doublesha(rev)
block_hash = ''.join([ hash_bin[i*4:i*4+4][::-1] for i in range(0, 8) ])
+
#log.info('!!! %s' % header[:160])
- log.info("Submitting %s" % utils.format_hash(binascii.hexlify(block_hash)))
-
- if utils.uint256_from_str(hash_bin) > self.target:
+ difs = utils.uint256_from_str(hash_bin)
+ if difs > self.target:
log.debug("Share is below expected target")
return True
-
+
+ share = utils.format_hash(binascii.hexlify(block_hash))
+ log.info("Submitting share %s diff %d/%d" % (share, int(self.target1 difs), self.difficulty))
+
# 2. Lookup for job and extranonce used for creating given block header
try:
(job, extranonce2) = self.get_job_from_header(header)