http://blockexplorer.com/rawblock/00000000000271de9d8b94afff543366e290e995f3e3e337bb86a0b7bf02e8d1
Возьмите это в качестве примера.
Bitcoin мало младшему, верно?
Так что нам нужно:
4 байта - версия
32 байта - предыдущий блок хэш
32 байта - Merkle номер корня
4 байта - 4 второго периодического метка времени (это Юниксовое время?)
4 байта - бит для трудностью
4 байта - случайный одноразовый
1 байт - 0
От blockexplorer какие ценности мне нужно замариновать в файл?
версия - 1
предыдущая хэш - 00000000000148c04e58dca8e1a2df251339c81e2dfe1ff0e9d655b7b4ca428d
Merkle корень - 72febc107470c4f83e224f9683a5c7fb24c4dece8412b9d95db277c8dd75451d
метка времени - 1297566305
"биты" - 1b028552
одноразовое значение - 329961997
0
Поэтому я хотел бы написать это в файл в двоичном формате небольшой Endian затем выполните команду:
sha256sum -b block_header > вывод
sha256sum -b выход
и это должно дать 000000000001b85fa1709c6824d19d5c7d20736b0b2ea5fd470705a9513c42ae
правильно?
и как «версия» решила? делать новые версии Bitcoin до этого числа и форк blockchain принимая версию 1 от до определенного момента?