I don't really see the point of this. Even at 10GH/s locally the amount of miner traffic is minimal and it is on the LAN. Keeping shares difficult 1 locally allows apples to apples comparison at the miner level.
With dynamic difficulty changing I just realized it made comparing stats (in cgminer) between rigs with different uptimes impossible. cgminer reports total # of shares but those shares represent different amounts of work. I was comparing mem clock difference between two rigs and the stats are junk. Stupid me for not thinking of this before running the trial.
Is there a command line argument to specify a static local share value? If not can it be included in the next version?
If you comment out line 533-538 in the main.py file (newest version) it will serve only diffficulty 1 shares to your miner
See before and after below.
Before:
target = net.PARENT.SANE_MAX_TARGET
if len(self.recent_shares_ts_work) == 50:
hash_rate = sum(work for ts, work in self.recent_shares_ts_work)//(self.recent_shares_ts_work[-1][0] - self.recent_shares_ts_work[0][0])
target = min(target, 2**256//(hash_rate))
target = max(target, share_info['bits'].target)
for aux_work in current_work.value['mm_chains'].itervalues():
target = max(target, aux_work['target'])
After:
target = net.PARENT.SANE_MAX_TARGET
# if len(self.recent_shares_ts_work) == 50:
# hash_rate = sum(work for ts, work in self.recent_shares_ts_work)//(self.recent_shares_ts_work[-1][0] - self.recent_shares_ts_work[0][0])
# target = min(target, 2**256//(hash_rate))
# target = max(target, share_info['bits'].target)
#for aux_work in current_work.value['mm_chains'].itervalues():
# target = max(target, aux_work['target'])
Or you can run your miner at http://p2pmining.com