I'm a little confused as well, because I see the hashing code in WorkProxy.java. But since I'm not so experienced with bitcoin hash targets, BigInter.compareTo and your .getEasyDifficultyTargetAsInteger(), I'm not sure what's wrong!
This is from my properties file, and it's the only line that sets useEasiestDifficulty: (And it is actually a hg clone from yesterday, so I think it was set to false all the time):
useEasiestDifficulty=false
Maybe some more details on what I do/get:
* Start PoolServerJ with empty shares table
* Start cheating Phoenix (see below)
* Wait until Phoenix reports "[18/08/2011 15:15:21] Result: b464f013 accepted" (this will appear only once, but phoenix will send 20 getwork-answers)
* See PoolServerJ log something like this 20 times: "Forced work submission upstream: 00000001a55604a05d5f30c4d1784f38bd1e1389f3[..]" with slightly changed nonce each time
* Now PoolServerJ logs 20x "work submit success, result: false"
* A few seconds later, PoolServerJ flushes the shares to MySQL and indeed, 20 valid shares are now in the table
(I'm not sure if this indicates there's another problem somewhere, but a lot of "RETRY" is sometimes mixed into the debug log output)
I'm using a pretty old SVN checkout of phoenix (I prefer poclbm, but I had a phoenix start script for localhost sitting around, so I used it), it's r101 I believe. However the newest git should be fine as well:
https://github.com/jedi95/Phoenix-Miner/In KernelInterface.py, change foundNonce.
Original code from git:
if self.checkTarget(hash, nr.unit.target):
formattedResult = pack('<76sI', nr.unit.data[:76], nonce)
d = self.miner.connection.sendResult(formattedResult)
Cheating code (as always with python, tabs/indents are important, not sure if this was copied correctly):
if self.checkTarget(hash, nr.unit.target):
for bad in range(nonce, nonce+20):
formattedResult = pack('<76sI', nr.unit.data[:76], bad)
d = self.miner.connection.sendResult(formattedResult)
Edit:
Are you sure Res.getEasyDifficultyTargetAsInteger()=115792089237316195423570985008687907853269984665640564039457584007908834672640 is correct?
I thought it would be 0xffff0000000000000000000000000000000000000000000000000000 for a difficulty-1-share, or 26959535291011309493156476344723991336010898738574164086137773096960 according to wolfram alpha.