редактировать: Это поддерживается в виде пластыря, в http://yyz.us/bitcoin/patch.bitcoin-pow-fail
Пожалуйста, вытаскивать из филиала «пау обанкротиться» из
мерзавец: //github.com/jgarzik/bitcoin.git пау обанкротиться
получить следующие обновления:
Джефф Garzik (1):
Добавить -printpowfail для отображения хэша данных при корректуре из-работы проверка неудачна
main.cpp | 6 +++++ -
1 файл изменен, 5 вставок (+), 1 удаление (-)
Код:
дифференциал --git а / б / main.cpp main.cpp
Индекс 8db6c39..d0eac7c 100644
--- а / main.cpp
+++ б / main.cpp
@@ -3397,8 +3397,12 @@ BOOL CheckWork (CBlock * pblock, CReserveKey& reservekey)
uint256 хэш = pblock->GetHash ();
uint256 hashTarget = CBigNum (). SetCompact (pblock->Nbits) .getuint256 ();
- если (хэш > hashTarget)
+ если (хэш > hashTarget) {
+ если (GetBoolArg ("-printpowfail"))
+ Е ("доказательство правильности работы проверка FAILED ... \ п хэша:% S \ ntarget:% s \ п",
+ .. Hash.GetHex () c_str (), hashTarget.GetHex () c_str ());
вернуться ложным;
+ }
//// отладки печати
Е ("BitcoinMiner: \ п");
Индекс 8db6c39..d0eac7c 100644
--- а / main.cpp
+++ б / main.cpp
@@ -3397,8 +3397,12 @@ BOOL CheckWork (CBlock * pblock, CReserveKey& reservekey)
uint256 хэш = pblock->GetHash ();
uint256 hashTarget = CBigNum (). SetCompact (pblock->Nbits) .getuint256 ();
- если (хэш > hashTarget)
+ если (хэш > hashTarget) {
+ если (GetBoolArg ("-printpowfail"))
+ Е ("доказательство правильности работы проверка FAILED ... \ п хэша:% S \ ntarget:% s \ п",
+ .. Hash.GetHex () c_str (), hashTarget.GetHex () c_str ());
вернуться ложным;
+ }
//// отладки печати
Е ("BitcoinMiner: \ п");
----------------------------------------------------------------------------------------------------------------------------------------
ЗАМЕТКИ
Примечание 1: это стандартный Linux ядро мерзавец формат запроса тянуть; часто пятна прошли, по крайней мере один раунд рассмотрения до запроса тянущего, где подсистема ядра сопровождающих рассмотрели изменения индивидуального submittor в; с этой должности, я рушится в двух шагах от более крупного программного проекта в один, для краткости и простоты комментирования.
Примечание 2: хотя английский текст говорит "пожалуйста вытягивает", Подразумевая успех, не submittors никогда предполагать успех. вместо этого, каждый принимает основной цикл:
- Шаг 1: запрос пост тянуть
- Шаг 2: если это приемлемо, сопровождающий будет тянуть запрос. яй, ваши изменения принимаются!
- Шаг 3: в противном случае пересмотреть на основе обратной связи (или отказаться от всего подхода!), И перейти к шагу # 1
Note3: да, название филиала перечислен дважды "Пожалуйста вытяните" и следующую строку. Вторая линия предназначена для резать-н-вставили, чтобы сделать жизнь проще для лица, выдавшего "мерзавец тянуть",
Примечание4: раздел Следующий "получить следующие обновления" является выходом "мерзавец shortlog"
Note5: после этого раздела, статистики дифференциала, а генерируемая статистикой различий (1)
Примечание 6: то, что за ним следует полный патч для публичного обсуждения, цитирование и комментирование.
Примечание 7: как правило, вы хотите, чтобы вытащить из третьих сторон на слияния отрасли, и тогда дергать объединить ветку в основную ветвь, после удовлетворения себя, что ничего не сломано или "зло" был вытянут.