How to generate bitcoin target from difficulty?

Reading the slushpool's manual for the Stratum protocol I found that :

"Default share difficulty is 1 (big-endian target for difficulty 1 is 0x00000000ffff0000000000000000000000000000000000000000000000000000)"

Anyone knows how to generate this 64characters long big-endian representation of the number 1 ? I would appreciate any code in Java.

Thank you

I'm afraid I don't know Java, but the target is worked out as follows:

target = maximum target / difficulty


Note: The maximum target is 0x00000000FFFF0000000000000000000000000000000000000000000000000000 (which in decimal is 26959535291011309493156476344723991336010898738574164086137773096960)

Therefore:

target = maximum target / difficulty
target = 26959535291011309493156476344723991336010898738574164086137773096960 / 1
target = 26959535291011309493156476344723991336010898738574164086137773096960


So if you convert that back to hex you get:

0xFFFF0000000000000000000000000000000000000000000000000000


Then you can just pad zeros on the left to make it 64 characters:

0x00000000FFFF0000000000000000000000000000000000000000000000000000


http://learnmeabitcoin.com/manual/guide/difficulty#finding-the-target-using-the-difficulty

• Thank you for your information. I read more about the Stratum protocol and I found that the current network difficulty is stored in the nBits variable. – Nikos Oct 25 '16 at 11:42
• So now I have to figure out how I can convert the nBits to Target. – Nikos Oct 25 '16 at 11:43