У меня есть проблема (или недоразумение с SHA256 хеширования заголовка блока)
Я использую этот код
Код:
импорт hashlib, структура
веры = 2
prev_block = "000000000000000117c80378b8da0e33559b5997f2ad55e2f7d18ec1975b9717"
mrkl_root = "871714dcbae6c8193a2bb9b2a69fe1c0440399f38d94b3a0f1b447275a29978a"
time_ = 0x53058b35 # 2014-02-20 4:57:25
бит = 0x19015f53
# https://en.bitcoin.it/wiki/Difficulty
= ехр биты >> 24
MANT = биты & 0xffffff
target_hexstr = '% 064x' % (MANT * (1<<(8 * (ехр - 3))))
target_str = target_hexstr.decode ( 'шестигранной')
Nonce = 0
в то время как одноразовое значение < 0x100000000:
заголовок = (struct.pack (" mrkl_root.decode ( 'шестигранной') [:: - 1] + struct.pack (" хэш = hashlib.sha256 (hashlib.sha256 (заголовок) .digest ()). дайджест ()
печать временного значения хэш [:: - 1] .encode ( 'шестигранной')
если хэш [:: - 1] < target_str:
Печать «Успех»
ломать
Nonce + 1 =
веры = 2
prev_block = "000000000000000117c80378b8da0e33559b5997f2ad55e2f7d18ec1975b9717"
mrkl_root = "871714dcbae6c8193a2bb9b2a69fe1c0440399f38d94b3a0f1b447275a29978a"
time_ = 0x53058b35 # 2014-02-20 4:57:25
бит = 0x19015f53
# https://en.bitcoin.it/wiki/Difficulty
= ехр биты >> 24
MANT = биты & 0xffffff
target_hexstr = '% 064x' % (MANT * (1<<(8 * (ехр - 3))))
target_str = target_hexstr.decode ( 'шестигранной')
Nonce = 0
в то время как одноразовое значение < 0x100000000:
заголовок = (struct.pack ("
печать временного значения хэш [:: - 1] .encode ( 'шестигранной')
если хэш [:: - 1] < target_str:
Печать «Успех»
ломать
Nonce + 1 =
и здесь на сайте
https://repl.it/Pkp
так как вы можете видеть, что это работает отлично, и решить этот блок, но когда я проследить его построчно (когда он достигает правильное временное значение, которое 856192328 0x33087548)
сначала сделать этот заголовок блока
Код:
0200000017975b97c18ed1f7e255adf297599b55330edab87803c81701000000000000008a97295a2747b4f1a0b3948df3990344c0e19fa6b2b92b3a19c8e6badc141787358b0553535f011948750833
а затем хэш его с SHA256, что выход
Код:
e6d91555891f9c0d0313625ff8cbfecc917063ade047c2eaf73e7a28862b127c
а затем снова хэш
Код:
0000000000000000e067a478024addfecdc93628978aa52d91fabd4292982a50
она решаетсяно когда я хэширования блок заголовка с некоторыми SHA256 онлайн Hasher как
http://www.xorbin.com/tools/sha256-hash-calculator
выход
Код:
1a4ad61b28b74f4ce89b589ed862ac204019c3297b6431529d141f8b82fb56ea
и опятьКод:
a071333e34ecdca0c9f7d7f7d42192ebb6cc3e3e47a4b20a02108246a5bd8e1c
и вы можете видеть, что это неправильно!
что это неправильно йота это?