Мне удалось извлечь следующую информацию из этого pushpool решения:
Какие части этой информации (и в каком порядке?) Должен быть хэшируются путем SHA256 дважды придумать хэш блока?
Данные, которые я нашел, кажется правильным для рассматриваемого блока, но как же я придумал блок хэша от одной этой информации? Или это вообще возможно?
Похоже, мы находимся на той же стадии понимания Bitcoin
Это воскресенье я работаю на точно такой же вопрос. Я нашел три аспекта полезным:
1) Decription на
https://en.bitcoin.it/wiki/Block_hashing_algorithm дает приблизительное представление
2) Чтение источника реализации Satoshi это ... гм ... хорошее упражнение в C ++ беглости. Однако это полезно для этого вопроса. Вопрос: Вы должны получить все порядки байт nesses и все последовательности вправо. Satoshi реализует сложную концепцию сериализации и выводит есть оттуда.
3) Вероятно, наиболее полезная вещь в этом отношении является эталонным Pastebin из (1)
http://pastebin.com/n8UEGA86 Она содержит с реализации именно той части вы смотрите в. Я не пробовал это сам (но, вероятно, будет делать это в конце концов).
Тем не менее, позвольте мне сделать общую рекомендацию:
Прочитайте реализацию Сатоши. Это не очень хорошо документирована, имеет структурирование файл, который достаточно трудно читать, использует повысить библиотечные вызовы и имеет все виды изгибов и поворотов. Тем не менее, это не окупится. Satoshi имеет многочисленные повороты и идеи, и это занимает некоторое время, чтобы понять их. Но это не только каждый элегантный (Вы можете узнать что-то о программировании ...) - это также способствует безопасности и стабильности системы.
Я рекомендовал бы против реализации на основе PHP. И я бы не рекомендовал делать собственные реализации в Bitcoin, прежде чем полностью усваиваются понятия в реализации Satoshi. Это заняло у меня 6 недель отладки аппаратуры, код комментирования, анализ кода и многое другое - и в результате этого я закончил с этим мнением.
Удачи.