Bitcoin Forum
April 26, 2024, 07:03:31 AM *
News: Latest Bitcoin Core release: 27.0 [Torrent]
 
   Home   Help Search Login Register More  
Pages: [1]
  Print  
Author Topic: Проблема с майнингом форка биткоина bad-cb-height rejected by the  (Read 199 times)
bitcoin5000.org (OP)
Copper Member
Newbie
*
Offline Offline

Activity: 115
Merit: 0

bitcoin5000.org - 5k 5k 5k


View Profile WWW
August 17, 2018, 04:55:27 AM
 #1

Вообщем такая проблема, сделали форк биткоина c увеличенным размером блока и sha256, все вроде работает, в кошельке майнится через setgenerate true -1.
Но настроить внешний майнинг через rpc или mining pool, не получается, все блоки отвергаются что только не пробовали.
Пробовали все версии майнинг пулов ucomp, и модифицированные его версии, node-merged-pool, miningcore, stratum, пробовали и на linux и на windows запускать. Все майнеры использовали c ними и всевозможные настройки в том числе напрямую без пула с nevermore miner. Ничего не выходит результат один блоки находятся но отвергаются. Что можно сделать и в чем проблема?

Примеры ошибок из разных майнеров и пулов:
Ошибки:
 - Pool bitcoin5000 Thread 1 We thought a block was found but it was rejected by the daemon, share data:

2018-08-08 11:44:15 ERROR: AcceptBlock: bad-cb-height, block height mismatch in coinbase (code 16)
2018-08-08 11:44:15 ERROR: ProcessNewBlock: AcceptBlock FAILED

 submission failed with: bad-cb-height

[2018-08-15 00:36:27] accepted: 0/19 (diff 0.000), 686.20 MH/s booooo
[2018-08-15 00:36:27] reject reason: bad-cb-height
1714115011
Hero Member
*
Offline Offline

Posts: 1714115011

View Profile Personal Message (Offline)

Ignore
1714115011
Reply with quote  #2

1714115011
Report to moderator
Bitcoin addresses contain a checksum, so it is very unlikely that mistyping an address will cause you to lose money.
Advertised sites are not endorsed by the Bitcoin Forum. They may be unsafe, untrustworthy, or illegal in your jurisdiction.
Andrey123
Sr. Member
****
Offline Offline

Activity: 1750
Merit: 305



View Profile
August 17, 2018, 05:25:56 AM
 #2

Ахаха я не могу  Grin
Новую монету накодить стоит 5 ВТС примерно.

Хотя бы это глянь: https://habr.com/post/323586/
И кому сдался новый форк, если их как го*на уже и цена копеечная  Grin

Hello! Voluntary donations that will go towards the development of my coin.
34bwEhH3GMx6swYXt2NBfFbYGkdTcaWtXz....BTC

bitcoin5000.org (OP)
Copper Member
Newbie
*
Offline Offline

Activity: 115
Merit: 0

bitcoin5000.org - 5k 5k 5k


View Profile WWW
August 17, 2018, 06:02:22 AM
 #3

Ахаха я не могу  Grin
Новую монету накодить стоит 5 ВТС примерно.

Хотя бы это глянь: https://habr.com/post/323586/
И кому сдался новый форк, если их как го*на уже и цена копеечная  Grin
У нас свой кодер он бесплатно делает но сейчас его посадили в психушку.
Вот почитай про наш биткоин 5000 https://www.bitcoin5000.org/
это не очередной форк это религия целая, освобождение от налогов и борьба с мафией.

Так по вопросу помощь будет? Или тут тоже никто ничего не шарит? Может размер блока как-то надо прописать в майнере или bitcoin5000.conf или дело в маленьком количестве участников сети но почему через core кошелек все работает синхронизируется и на cpu майнится?
bitcoin5000.org (OP)
Copper Member
Newbie
*
Offline Offline

Activity: 115
Merit: 0

bitcoin5000.org - 5k 5k 5k


View Profile WWW
August 17, 2018, 06:56:16 AM
 #4

Неужели никто не знает в чем может быть проблема? Я не просто так спрашиваю я весь интернет прочесал на подобные вопросы и так ответа и не нашел.
kzv
Legendary
*
Offline Offline

Activity: 1722
Merit: 1285

OpenTrade - Open Source Cryptocurrency Exchange


View Profile WWW
August 17, 2018, 07:11:24 AM
Last edit: August 17, 2018, 08:20:28 AM by kzv
 #5

Вообщем такая проблема, сделали форк биткоина c увеличенным размером блока и sha256, все вроде работает, в кошельке майнится через setgenerate true -1.
Но настроить внешний майнинг через rpc или mining pool, не получается, все блоки отвергаются что только не пробовали.
Пробовали все версии майнинг пулов ucomp, и модифицированные его версии, node-merged-pool, miningcore, stratum, пробовали и на linux и на windows запускать. Все майнеры использовали c ними и всевозможные настройки в том числе напрямую без пула с nevermore miner. Ничего не выходит результат один блоки находятся но отвергаются. Что можно сделать и в чем проблема?

Примеры ошибок из разных майнеров и пулов:
Ошибки:
 - Pool bitcoin5000 Thread 1 We thought a block was found but it was rejected by the daemon, share data:

2018-08-08 11:44:15 ERROR: AcceptBlock: bad-cb-height, block height mismatch in coinbase (code 16)
2018-08-08 11:44:15 ERROR: ProcessNewBlock: AcceptBlock FAILED

 submission failed with: bad-cb-height

[2018-08-15 00:36:27] accepted: 0/19 (diff 0.000), 686.20 MH/s booooo
[2018-08-15 00:36:27] reject reason: bad-cb-height

Пулы намекают, что у вас какие-то кривые коинбейс транзакции. Может для вашего клиента они нормальные, но пулы про это не знают.
Когда выпишут программиста, пусть проверку коинбейса в пуле переделывает, либо хардфорк.
Кстати, пока пять тыщь хардфорков не сделаете - проект не взлетит!

Зы внезапно посетила мудрая мысль: а у вас демон пула синхронизирован с майнерами вообще-то?

Ззы другая мысля: возможно ваш майнер тормоз. Пока он искал решение, другие уже нашли овер 5000 блоков.

OpenTrade - Open Source Cryptocurrency Exchange
bitcoin5000.org (OP)
Copper Member
Newbie
*
Offline Offline

Activity: 115
Merit: 0

bitcoin5000.org - 5k 5k 5k


View Profile WWW
August 17, 2018, 11:36:41 AM
 #6

Вообщем такая проблема, сделали форк биткоина c увеличенным размером блока и sha256, все вроде работает, в кошельке майнится через setgenerate true -1.
Но настроить внешний майнинг через rpc или mining pool, не получается, все блоки отвергаются что только не пробовали.
Пробовали все версии майнинг пулов ucomp, и модифицированные его версии, node-merged-pool, miningcore, stratum, пробовали и на linux и на windows запускать. Все майнеры использовали c ними и всевозможные настройки в том числе напрямую без пула с nevermore miner. Ничего не выходит результат один блоки находятся но отвергаются. Что можно сделать и в чем проблема?

Примеры ошибок из разных майнеров и пулов:
Ошибки:
 - Pool bitcoin5000 Thread 1 We thought a block was found but it was rejected by the daemon, share data:

2018-08-08 11:44:15 ERROR: AcceptBlock: bad-cb-height, block height mismatch in coinbase (code 16)
2018-08-08 11:44:15 ERROR: ProcessNewBlock: AcceptBlock FAILED

 submission failed with: bad-cb-height

[2018-08-15 00:36:27] accepted: 0/19 (diff 0.000), 686.20 MH/s booooo
[2018-08-15 00:36:27] reject reason: bad-cb-height

Пулы намекают, что у вас какие-то кривые коинбейс транзакции. Может для вашего клиента они нормальные, но пулы про это не знают.
Когда выпишут программиста, пусть проверку коинбейса в пуле переделывает, либо хардфорк.
Кстати, пока пять тыщь хардфорков не сделаете - проект не взлетит!

Зы внезапно посетила мудрая мысль: а у вас демон пула синхронизирован с майнерами вообще-то?

Ззы другая мысля: возможно ваш майнер тормоз. Пока он искал решение, другие уже нашли овер 5000 блоков.

Ну а как эти пулы то подстроить? вот в чем вопрос там нету никаких настроек особых если это форк биткоина.
Эту проверку коинбейса в пуле проверять? Какой пул установить чтобы проще было мы все перепробовали. И мы же даже без пулов пробовали через rpc в винде напрямую через neverminer тоже ничего не работает. Синхронизация должна же быть 100% показывает и блоки сверяли количество, мы же даже напрямую делали, пробовали как к ноде подключаться так и напрямую на локалке, может вообще отрубить синхронизацию с нодой для проверки? Врятли дело в том что кто-то еще майнит пока тока провереные пятысячники получили кошель и они тока в кошельке майнят через CPU. Еще такое дело в кошельке не зрелые транзакции весят где майнится на CPU может в этом еще дело?
kzv
Legendary
*
Offline Offline

Activity: 1722
Merit: 1285

OpenTrade - Open Source Cryptocurrency Exchange


View Profile WWW
August 17, 2018, 11:47:51 AM
 #7

Ну смотри что происходит:

1. Пул дает майнеру заголовок блока и говорит: нука давай ищи красивый хэш этой фигни.
2. Майнер находит хэш и посылает обратно пулу хэш вместе с заголовком который сам же пул ранее прислал (см. пункт 1)
3. Пул говорит: чувак, твой заголовок блока неправильный.
4. Переходим к пункту 1.

Как такое возможно? Пул ругается на данные, которые сам же ранее посылал.

Я не знаю, че там у вас за алгоритмы. Но если это просто форк биткоина без наворотов, то у меня только одна идея: пока майнер ищет хэш, кто-то находит хэш раньше и в пуле цепочка блоков становится выше, чем у майнера. Соответственно когда тормоз-майнер посылает решение, пул говорит, что твое решение уже устарело.

Еще могу посоветовать найти в исходниках строку "bad-cb-height" и заценить конкретно - когда ваш форк выплевывает эту ошибку.

OpenTrade - Open Source Cryptocurrency Exchange
kzv
Legendary
*
Offline Offline

Activity: 1722
Merit: 1285

OpenTrade - Open Source Cryptocurrency Exchange


View Profile WWW
August 17, 2018, 11:49:02 AM
 #8

Еще идея: сверь часы на пуле и на майнере. Если время сильно отличается то тоже не есть гуд )

OpenTrade - Open Source Cryptocurrency Exchange
bitcoin5000.org (OP)
Copper Member
Newbie
*
Offline Offline

Activity: 115
Merit: 0

bitcoin5000.org - 5k 5k 5k


View Profile WWW
August 17, 2018, 12:46:31 PM
 #9

Ну смотри что происходит:

1. Пул дает майнеру заголовок блока и говорит: нука давай ищи красивый хэш этой фигни.
2. Майнер находит хэш и посылает обратно пулу хэш вместе с заголовком который сам же пул ранее прислал (см. пункт 1)
3. Пул говорит: чувак, твой заголовок блока неправильный.
4. Переходим к пункту 1.

Как такое возможно? Пул ругается на данные, которые сам же ранее посылал.

Я не знаю, че там у вас за алгоритмы. Но если это просто форк биткоина без наворотов, то у меня только одна идея: пока майнер ищет хэш, кто-то находит хэш раньше и в пуле цепочка блоков становится выше, чем у майнера. Соответственно когда тормоз-майнер посылает решение, пул говорит, что твое решение уже устарело.

Еще могу посоветовать найти в исходниках строку "bad-cb-height" и заценить конкретно - когда ваш форк выплевывает эту ошибку.
Спасибо, а может быть проблема в том что мы сделали развилку на 2013 годе? И из-за разницы во времени блокчейна это и происходит или это неважно? И если из-за этого это можно исправить как-то?  Но тогда почему сам кошель майнит нормально? Тут как бы смысл биткоины раздать бесплатно тем кого обманули в 2013 риптилойды сатанисты.
И вот еще может быть проблема из-за низкой сложности она сейчас всего чуть больше  1.315277164532573.
kzv
Legendary
*
Offline Offline

Activity: 1722
Merit: 1285

OpenTrade - Open Source Cryptocurrency Exchange


View Profile WWW
August 17, 2018, 01:32:15 PM
 #10

Ну смотри что происходит:

1. Пул дает майнеру заголовок блока и говорит: нука давай ищи красивый хэш этой фигни.
2. Майнер находит хэш и посылает обратно пулу хэш вместе с заголовком который сам же пул ранее прислал (см. пункт 1)
3. Пул говорит: чувак, твой заголовок блока неправильный.
4. Переходим к пункту 1.

Как такое возможно? Пул ругается на данные, которые сам же ранее посылал.

Я не знаю, че там у вас за алгоритмы. Но если это просто форк биткоина без наворотов, то у меня только одна идея: пока майнер ищет хэш, кто-то находит хэш раньше и в пуле цепочка блоков становится выше, чем у майнера. Соответственно когда тормоз-майнер посылает решение, пул говорит, что твое решение уже устарело.

Еще могу посоветовать найти в исходниках строку "bad-cb-height" и заценить конкретно - когда ваш форк выплевывает эту ошибку.
Спасибо, а может быть проблема в том что мы сделали развилку на 2013 годе? И из-за разницы во времени блокчейна это и происходит или это неважно? И если из-за этого это можно исправить как-то?  Но тогда почему сам кошель майнит нормально? Тут как бы смысл биткоины раздать бесплатно тем кого обманули в 2013 риптилойды сатанисты.
И вот еще может быть проблема из-за низкой сложности она сейчас всего чуть больше  1.315277164532573.

Если кошель майнит, значит проблема не в исходнике, а в пуле (его настройках). Может в настройках пула сложность слишком большая и майнер не успевает найти блок с такой сложностью? Может время на серваке с пулом корявое?

Попробуйте вот этим майнером локально на компе помайнить.
https://github.com/pooler/cpuminer/releases

только разберитесь с настройками.

OpenTrade - Open Source Cryptocurrency Exchange
bitcoin5000.org (OP)
Copper Member
Newbie
*
Offline Offline

Activity: 115
Merit: 0

bitcoin5000.org - 5k 5k 5k


View Profile WWW
August 18, 2018, 06:32:01 PM
 #11

Ну смотри что происходит:

1. Пул дает майнеру заголовок блока и говорит: нука давай ищи красивый хэш этой фигни.
2. Майнер находит хэш и посылает обратно пулу хэш вместе с заголовком который сам же пул ранее прислал (см. пункт 1)
3. Пул говорит: чувак, твой заголовок блока неправильный.
4. Переходим к пункту 1.

Как такое возможно? Пул ругается на данные, которые сам же ранее посылал.

Я не знаю, че там у вас за алгоритмы. Но если это просто форк биткоина без наворотов, то у меня только одна идея: пока майнер ищет хэш, кто-то находит хэш раньше и в пуле цепочка блоков становится выше, чем у майнера. Соответственно когда тормоз-майнер посылает решение, пул говорит, что твое решение уже устарело.

Еще могу посоветовать найти в исходниках строку "bad-cb-height" и заценить конкретно - когда ваш форк выплевывает эту ошибку.
Спасибо, а может быть проблема в том что мы сделали развилку на 2013 годе? И из-за разницы во времени блокчейна это и происходит или это неважно? И если из-за этого это можно исправить как-то?  Но тогда почему сам кошель майнит нормально? Тут как бы смысл биткоины раздать бесплатно тем кого обманули в 2013 риптилойды сатанисты.
И вот еще может быть проблема из-за низкой сложности она сейчас всего чуть больше  1.315277164532573.

Если кошель майнит, значит проблема не в исходнике, а в пуле (его настройках). Может в настройках пула сложность слишком большая и майнер не успевает найти блок с такой сложностью? Может время на серваке с пулом корявое?

Попробуйте вот этим майнером локально на компе помайнить.
https://github.com/pooler/cpuminer/releases

только разберитесь с настройками.

Попробывал этот майнер тоже самое в пустую работает но этот ошибок просто не выводит а результат тотже самый.
Поискал в исходниках по ошибке вот что нашел. Что делать?

validation.cpp

// Enforce rule that the coinbase starts with serialized block height
Enforce rule that the coinbase starts with serialized block height
  if (nHeight >= consensusParams.BIP34Height) {

    CScript expect = CScript();
    if (nHeight > FORK_BLOCK) {
      expect << std::vector<unsigned char>(FORK_HASH_UINT256.begin(),
                                           FORK_HASH_UINT256.end());
    }
    expect << nHeight;

    if (block.vtx[0]->vin[0].scriptSig.size() < expect.size() ||
        !std::equal(expect.begin(), expect.end(),
                    block.vtx[0]->vin[0].scriptSig.begin())) {
      return state.DoS(100, false, REJECT_INVALID, "bad-cb-height", false,
                       "block height mismatch in coinbase");
    }

net_processing.cpp
} else if (status == READ_STATUS_FAILED) {
        // Might have collided, fall back to getdata now Sad
        std::vector<CInv> invs;
        invs.push_back(CInv(MSG_BLOCK | GetFetchFlags(pfrom), resp.blockhash));
        connman->PushMessage(pfrom, msgMaker.Make(NetMsgType::GETDATA, invs));
      } else {
        // Block is either okay, or possibly we received
        // READ_STATUS_CHECKBLOCK_FAILED.
        // Note that CheckBlock can only fail for one of a few reasons:
        // 1. bad-proof-of-work (impossible here, because we've already
        //    accepted the header)
        // 2. merkleroot doesn't match the transactions given (already
        //    caught in FillBlock with READ_STATUS_FAILED, so
        //    impossible here)
        // 3. the block is otherwise invalid (eg invalid coinbase,
        //    block is too big, too many legacy sigops, etc).
        // So if CheckBlock failed, #3 is the only possibility.
        // Under BIP 152, we don't DoS-ban unless proof of work is
        // invalid (we don't require all the stateless checks to have
        // been run).  This is handled below, so just treat this as
        // though the block was successfully read, and rely on the
        // handling in ProcessNewBlock to ensure the block index is
        // updated, reject messages go out, etc.
        MarkBlockAsReceived(resp.blockhash); // it is now an empty pointer
        fBlockRead = true;
        // mapBlockSource is only used for sending reject messages and DoS
        // scores,
        // so the race between here and cs_main in ProcessNewBlock is fine.
        // BIP 152 permits peers to relay compact blocks after validating
        // the header only; we should not punish peers if the block turns
        // out to be invalid.
        mapBlockSource.emplace(resp.blockhash,
                               std::make_pair(pfrom->GetId(), false));
      }
    } // Don't hold cs_main when we call into ProcessNewBlock

bitcoin5000.org (OP)
Copper Member
Newbie
*
Offline Offline

Activity: 115
Merit: 0

bitcoin5000.org - 5k 5k 5k


View Profile WWW
August 19, 2018, 09:51:39 AM
 #12

Может кто поможет?
БАМП
kzv
Legendary
*
Offline Offline

Activity: 1722
Merit: 1285

OpenTrade - Open Source Cryptocurrency Exchange


View Profile WWW
August 19, 2018, 11:19:25 AM
 #13

Там почти по русски написано, что длина подписи коинбейс транзакции меньше ожидаемой длины.

Code:
  if (block.vtx[0]->vin[0].scriptSig.size() < expect.size() ||
        !std::equal(expect.begin(), expect.end(),
                    block.vtx[0]->vin[0].scriptSig.begin())) {
      return state.DoS(100, false, REJECT_INVALID, "bad-cb-height", false,
                       "block height mismatch in coinbase");
    }

Можешь записать в лог ту и другую длину и посмотреть какая приходит и какая ожидается.
Можешь по коду вверх посмотреть, как формируется вектор expect ибо я подозреваю, что в это условие он по какой-то причине приходит с нулевой длиной.

как запускаешь майнер который я советовал? я же говорил, разберись с его настройками. Он в консоль должен логи писать.

OpenTrade - Open Source Cryptocurrency Exchange
bitcoin5000.org (OP)
Copper Member
Newbie
*
Offline Offline

Activity: 115
Merit: 0

bitcoin5000.org - 5k 5k 5k


View Profile WWW
August 20, 2018, 07:37:47 PM
 #14

Вообщем разобрались даже без кодера сами, похоже тут мало кто вообще что-то понимает в этом, инфы как пофиксить практически невозможно найти в интернете но для тех то разбирается решение простое. Ниодин из ответов тут не оказался полезным, спасибо. Ждите скорого запуска биткоина 5000.
ПЯТЬ ТЫЩЬ.
Pages: [1]
  Print  
 
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!