8000 added command-line switch to enable proper scrypt targets · coderlv/stratum-mining-proxy@050c752 · GitHub
[go: up one dir, main page]

Skip to content

Commit 050c752

Browse files
committed
added command-line switch to enable proper scrypt targets
1 parent 7b5c080 commit 050c752

File tree

2 files changed

+9
-4
lines changed

2 files changed

+9
-4
lines changed

mining_libs/jobs.py

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -80,9 +80,10 @@ def serialize_header(self, merkle_root, ntime, nonce):
8080
return r
8181

8282
class JobRegistry(object):
83-
def __init__(self, f, cmd, no_midstate, real_target, use_old_target=False):
83+
def __init__(self, f, cmd, scrypt, no_midstate, real_target, use_old_target=False):
8484
self.f = f
8585
self.cmd = cmd # execute this command on new block
86+
self.scrypt = scrypt # calculate target for scrypt algorithm instead of sha256
8687
self.no_midstate = no_midstate # Indicates if calculate midstate for getwork
8788
self.real_target = real_target # Indicates if real stratum target will be propagated to miners
8889
self.use_old_target = use_old_target # Use 00000000fffffff...f instead of correct 00000000ffffffff...0 target for really old miners
@@ -112,7 +113,10 @@ def set_extranonce(self, extranonce1, extranonce2_size):
112113
self.extranonce1_bin = binascii.unhexlify(extranonce1)
113114

114115
def set_difficulty(self, new_difficulty):
115-
dif1 = 0x00000000ffff0000000000000000000000000000000000000000000000000000
116+
if self.scrypt:
117+
dif1 = 0x0000ffff00000000000000000000000000000000000000000000000000000000
118+
else:
119+
dif1 = 0x00000000ffff0000000000000000000000000000000000000000000000000000
116120
self.target = int(dif1 / new_difficulty)
117121
self.target_hex = binascii.hexlify(utils.uint256_to_str(self.target))
118122
self.difficulty = new_difficulty

mining_proxy.py

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,8 @@ def parse_args():
4343
parser.add_argument('-t', '--test', dest='test', action='store_true', help='Run performance test on startup')
4444
parser.add_argument('-v', '--verbose', dest='verbose', action='store_true', help='Enable low-level debugging messages')
4545
parser.add_argument('-q', '--quiet', dest='quiet', action='store_true', help='Make output more quiet')
46-
parser.add_argument('-i', '--pid-file', dest='pid_file', type=str, help='Store process pid to the file')
46+
parser.add_argument('-i', '--pid-file', dest='pid_file', type=str, help='Store process pid to the file')
47+
parser.add_argument('-s', '--scrypt', dest='scrypt', action='store_true', help='Calculate targets for scrypt algorithm')
4748
return parser.parse_args()
4849

4950
from stratum import settings
@@ -212,7 +213,7 @@ def main(args):
212213
event_handler=client_service.ClientMiningService)
213214

214215

215-
job_registry = jobs.JobRegistry(f, cmd=args.blocknotify_cmd,
216+
job_registry = jobs.JobRegistry(f, cmd=args.blocknotify_cmd, scrypt=args.scrypt,
216217
no_midstate=args.no_midstate, real_target=args.real_target, use_old_target=args.old_target)
217218
client_service.ClientMiningService.job_registry = job_registry
218219
client_service.ClientMiningService.reset_timeout()

0 commit comments

Comments
 (0)
0