How to generate bitcoin target from difficulty?

0

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

Nikos

Posted 2016-10-19T13:51:24.193

Reputation: 41

Answers

1

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

inersha

Posted 2016-10-19T13:51:24.193

Reputation: 2 236

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 2016-10-25T11:42:41.650

So now I have to figure out how I can convert the nBits to Target.Nikos 2016-10-25T11:43:44.240