Разве крепостные рабы и холопы в империи на это способны?! Это совершенно не их выбор. Чем больше тягот, лишений и унижений, тем сильнее их слепая вера и смирение перед начальством. https://www.youtube.com/watch?v=9UPNO6GDnGY
|
|
|
Вылез наконец то после многолетней спячки "Союз"(рогов и копыт). Шесть лет от него ни слуха ни духа не было, кроме ежемесячного мусора в почтовом ящике. Интересно, сколько этим вымогателям потребуется времени, что бы сделать следующий шаг согласно статье 129 ГПК РФ, хватит ли у них смелости? https://www.youtube.com/watch?v=rQzu_6wpPQU
|
|
|
гарантия простая Россия ни когда территории не отдавала, а вот СССР и большевики за территории особо никогда не держались, только потому что у них цель была завоевать весь мир. у России таких целей нет она просто живет так на своих территориях, что к ней тянутся соседи и присоединяются когда им плохо или видят что станет плохо, но от других соседей и нужна защита. вот России и защищает, как защищала болгар, сербов, греков во все времена. французов когда им нужна была помощь от России, англичан когда им было туго.
Что за зверёк с таким странным названием - Россия? На территориях каких народов он обитает и по какому праву? И с какого такого бодуна этот зверёк кого то защищает за пределами ареала своего обитания? https://ru.wikipedia.org/wiki/%D0%A1%D1%82%D0%B0%D0%BB%D0%B8%D0%BD%D1%81%D0%BA%D0%B8%D0%B5_%D1%80%D0%B5%D0%BF%D1%80%D0%B5%D1%81%D1%81%D0%B8%D0%B8и т.п. похождения выше обозначенного зверька.
|
|
|
Решил текущую проблему таким образом - https://github.com/neiros/TDC/commit/8d955ed8cd5e70b1703c93b30ba469bbbabc7b50Не более MIN_FEE_PART_CHAIN уходит выходу коинбазовой транзакции блока. Добавил ещё одну RPC функцию: getblocktarget <hash> - https://github.com/neiros/TDC/commit/5c5a07da7693a50457a6631d1e9c8b6d4dba70d418:10:25  getblocktarget 000078813027ce8c83ac53e7d651c96a30c10737b3860f81865167fdd00e3a5d
18:10:26  { "block " : "000078813027ce8c83ac53e7d651c96a30c10737b3860f81865167fdd00e3a5d", "target" : "0000adbedb24cd9f7769b639515a6360257f70cbb160aa859093decec1f28017", "old tar" : "0000002cd2130000000000000000000000000000000000000000000000000000", "total tx" : 10046, "CDFtrdt" : 0.99993818, "CDFsize" : 1.00000000, "backlash" : 999, "decrease ~ %" : 0.99899233, "maxBigNum" : 115792089237316195423570985008687907853269984665640564039457584007913129639936.00000000, "divideTarget" : 95825736.00000000, "- sumTrDif -" : 884449876.00000000 }
Показывает работу алгоритма изменения сложности - https://bitcointalk.org/index.php?topic=2254304.msg25067261#msg25067261 ( snowfox = 1.05) 26823 блок - http://90.188.88.19:3001/api/getblock?hash=000078813027ce8c83ac53e7d651c96a30c10737b3860f81865167fdd00e3a5dРазмер ~ 2,25 мегабайт. Cодержит 10046 транзакций. (для Iquidus Explorer такое количество неподъёмное, несколько часов он этот блок индексировал) Я не стал дальше наращивать количество транзакций до 5 мегабайт. Уже очевидно, что всё вполне нормально функционирует, если не учитывать некоторые тормоза из-за такого большого блока. Но что бы проверить более досконально, нужно в рабочей сети генерировать каждые 5 минут по 10000-20000 транзакций в течение 2-4 недель. Это примерно 288 * 15000 * 30 ~ 130 миллионов транзакций в месяц, что больше количества всех транзакций всех криптовалют, существующих на сегодняшний день(нереально ) Генерация некоего разового количества в текущих условиях требует довольно серьёзных вычислительных затрат(почти пол дня на 10000 транзакций у меня ушло, но можно конечно и быстрее) и это количество транзакций моментально размажется на очень большое количество мелких блоков из-за значительного уменьшения их сложности. Новый релиз - https://github.com/neiros/TDC/releases/tag/v0.8.217.4
|
|
|
То есть, я правильно понял, что если прописать block.nBits = 0x1f0fffff - то оно будет искать хэш с тремя лидирующими нулями (и меньше(хеш), т.е. и больше(нулей))?
Да. При условии, что лимит это позволит(дополнение ).
|
|
|
Я не заморачивался такими нюансами. В debag.log подобной строчкой: printf("=== 0x201fffff target: %s\n", CBigNum().SetCompact(0x201fffff).getuint256().GetHex().c_str()); вывел несколько вариантов: === 0x1f0fffff target: 000fffff00000000000000000000000000000000000000000000000000000000 === 0x1e0fffff target: 00000fffff000000000000000000000000000000000000000000000000000000 === 0x1d0fffff target: 0000000fffff0000000000000000000000000000000000000000000000000000 === 0x1c0fffff target: 000000000fffff00000000000000000000000000000000000000000000000000 === 0x1b0fffff target: 00000000000fffff000000000000000000000000000000000000000000000000 === 0x1a0fffff target: 0000000000000fffff0000000000000000000000000000000000000000000000 === 0x190fffff target: 000000000000000fffff00000000000000000000000000000000000000000000 === 0x180fffff target: 00000000000000000fffff000000000000000000000000000000000000000000 === 0x170fffff target: 0000000000000000000fffff0000000000000000000000000000000000000000 === 0x160fffff target: 000000000000000000000fffff00000000000000000000000000000000000000 === 0x150fffff target: 00000000000000000000000fffff000000000000000000000000000000000000 === 0x140fffff target: 0000000000000000000000000fffff0000000000000000000000000000000000 === 0x130fffff target: 000000000000000000000000000fffff00000000000000000000000000000000 === 0x120fffff target: 00000000000000000000000000000fffff000000000000000000000000000000 === 0x110fffff target: 0000000000000000000000000000000fffff0000000000000000000000000000 === 0x100fffff target: 000000000000000000000000000000000fffff00000000000000000000000000
=== 0x1e00ffff target: 000000ffff000000000000000000000000000000000000000000000000000000 === 0x1e000fff target: 0000000fff000000000000000000000000000000000000000000000000000000 и выбирал среди них подходящие. Вот это тоже может понадобиться: === CBigNum(~uint256(0) >> 10): 003fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff === CBigNum(~uint256(0) >> 16): 0000ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff === CBigNum(~uint256(0) >> 20): 00000fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff === CBigNum(~uint256(0) >> 21): 000007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffff === CBigNum(~uint256(0) >> 22): 000003ffffffffffffffffffffffffffffffffffffffffffffffffffffffffff === CBigNum(~uint256(0) >> 23): 000001ffffffffffffffffffffffffffffffffffffffffffffffffffffffffff === CBigNum(~uint256(0) >> 24): 000000ffffffffffffffffffffffffffffffffffffffffffffffffffffffffff === CBigNum(~uint256(0) >> 25): 0000007fffffffffffffffffffffffffffffffffffffffffffffffffffffffff === CBigNum(~uint256(0) >> 26): 0000003fffffffffffffffffffffffffffffffffffffffffffffffffffffffff === CBigNum(~uint256(0) >> 27): 0000001fffffffffffffffffffffffffffffffffffffffffffffffffffffffff === CBigNum(~uint256(0) >> 28): 0000000fffffffffffffffffffffffffffffffffffffffffffffffffffffffff === CBigNum(~uint256(0) >> 29): 00000007ffffffffffffffffffffffffffffffffffffffffffffffffffffffff === CBigNum(~uint256(0) >> 30): 00000003ffffffffffffffffffffffffffffffffffffffffffffffffffffffff === CBigNum(~uint256(0) >> 31): 00000001ffffffffffffffffffffffffffffffffffffffffffffffffffffffff === CBigNum(~uint256(0) >> 32): 00000000ffffffffffffffffffffffffffffffffffffffffffffffffffffffff
|
|
|
когда патч будет ?
На следующей неделе скорее всего. Очень не кстати эта проблемка всплыла. Из-за других левых дел "пара часов" на неделю растянулась. Но оно и к лучшему. За это время не спеша сгенерировал блок с 10000 транзакциями, пощупал, посмотрел что да как. На рабочей сети такого не получилось бы сделать, однозначно. Завтра-послезавтра приеду домой, доделаю кое-чего и всё опять дальше заработает.
|
|
|
Проявилась ещё одна ошибка. Майнинг из-за этого невозможен. ... CreateNewBlock(): total size 1000 ERROR: CheckTransaction() : vout empty ERROR: CheckBlock() : CheckTransaction failed ...
... CBlock(hash=2fd6197b461c2ed00192f2e2b394d76d0a688669f64539ca3d9d11ea747dd226, ver=2, hashPrevBlock=00000010f28c0c5774cfb59cc2fda5fe08ce6cafbf18d8ca3058aaf679bc74d7, hashMerkleRoot=0000000000000000000000000000000000000000000000000000000000000000, nTime=1518290114, nBits=1d2cd213, nNonce=0, vtx=2) CTransaction(hash=1fd00ebc725efe45cf8e5ee2e767095c3ae55cd36762f1d0ca24453b443a0da9, ver=1, vin.size=1, vout.size=2, tBlock=0, nLockTime=0) CTxIn(COutPoint(0000000000000000000000000000000000000000000000000000000000000000, 4294967295), coinbase 0000) CTxOut(nValue=148.65014985, scriptPubKey=03ab002067e03c11b58f833b02f351) CTxOut(nValue=1.34985015, scriptPubKey=03c1210be41ebaf80c1a9ad023bc0b) CTransaction(hash=937d9b66af02ab930560f2134e933610ebd28f07aa4a159efa6a979a504a1a2f, ver=1, vin.size=5, vout.size=0, tBlock=26820, nLockTime=0) CTxIn(COutPoint(d29b1f7114aa2a19d6f97a08adaac45923b6f27f7fcf19f28288ab74ca7f33f7, 1), scriptSig=0 0) CTxIn(COutPoint(21b12bf8d01d35e00101753fc8d99badcefb52bb85a039e66c580dcb3456fde8, 0), scriptSig=0 0) CTxIn(COutPoint(604594a734e1bd3ae68a5f97b2b191548accba025b82c4c3333608c7a0f333fb, 0), scriptSig=0 0) CTxIn(COutPoint(02596bc8a9a3bdb85f11219e4a124660188ae1da8a43a9a4e92eaa63637aa6cb, 0), scriptSig=0 0) CTxIn(COutPoint(22c8d0766bdf5176971b73e56a974c414904ae1364d918f6be8111c27e6ccdf5, 1), scriptSig=0 0) vMerkleTree: Running TTC-Miner with 2 transactions in block (465 bytes) ... 10:35:25  getrawtransaction 937d9b66af02ab930560f2134e933610ebd28f07aa4a159efa6a979a504a1a2f 1
10:35:25  { "hex" : "0100000005f7337fca74ab8882f219cf7f7ff2b62359c4aaad087af9d6192aaa14711f9bd201000000020000ffffffffe8fd5634cb0d586ce639a085bb52fbcead9bd9c83f750101e0351dd0f82bb12100000000020000fffffffffb33f3a0c7083633c3c4825b02bacc8a5491b1b2975f8ae63abde134a794456000000000020000ffffffffcba67a6363aa2ee9a4a9438adae18a186046124a9e21115fb8bda3a9c86b590200000000020000fffffffff5cd6c7ec21181bef618d96413ae0449414c976ae5731b977651df6b76d0c82201000000020000ffffffff00c468000000000000", "txid" : "937d9b66af02ab930560f2134e933610ebd28f07aa4a159efa6a979a504a1a2f", "version" : 1, "locktime" : 0, "tBlock" : 26820, "vin" : [ { "txid" : "d29b1f7114aa2a19d6f97a08adaac45923b6f27f7fcf19f28288ab74ca7f33f7", "vout" : 1, "scriptSig" : { "asm" : "0 0", "hex" : "0000" }, "sequence" : 4294967295 }, { "txid" : "21b12bf8d01d35e00101753fc8d99badcefb52bb85a039e66c580dcb3456fde8", "vout" : 0, "scriptSig" : { "asm" : "0 0", "hex" : "0000" }, "sequence" : 4294967295 }, { "txid" : "604594a734e1bd3ae68a5f97b2b191548accba025b82c4c3333608c7a0f333fb", "vout" : 0, "scriptSig" : { "asm" : "0 0", "hex" : "0000" }, "sequence" : 4294967295 }, { "txid" : "02596bc8a9a3bdb85f11219e4a124660188ae1da8a43a9a4e92eaa63637aa6cb", "vout" : 0, "scriptSig" : { "asm" : "0 0", "hex" : "0000" }, "sequence" : 4294967295 }, { "txid" : "22c8d0766bdf5176971b73e56a974c414904ae1364d918f6be8111c27e6ccdf5", "vout" : 1, "scriptSig" : { "asm" : "0 0", "hex" : "0000" }, "sequence" : 4294967295 } ], "vout" : [ ], "blockhash" : "00000010a32f5f65502d5040ae60f5fc87c9f544579f35378bb8468ece27f77e", "confirmations" : 10, "time" : 1518292567, "blocktime" : 1518292567 }
CTransaction(hash=937d9b66af02ab930560f2134e933610ebd28f07aa4a159efa6a979a504a1a2f, ver=1, vin.size=5, vout.size=0, tBlock=26820, nLockTime=0)Механизм переноса транзакций создал транзакцию только с одними инами, без аутов - https://github.com/neiros/old_work/blob/TTC-all-Lyra2REv2/src/miner.cpp#L355Такая транзакция стала невалидной - https://github.com/neiros/old_work/blob/TTC-all-Lyra2REv2/src/main.cpp#L709Решается эта проблема двумя направлениями: либо убирается проверка отсутствующих выходов, либо добавляется хотя бы один выход. Первый вариант мне не очень нравится. Он легитимизирует такого рода половинчатые транзакции. Это в дальнейшем вносит ещё один момент неопределённости. Второй более предпочтителен, но нужно определиться что, кому, куда и сколько отправить.
|
|
|
Какая древняя тема всплыла. Вот почти с этих вот времён, как для себя настроил сборку биткоина под Windows, так до сих пор и пользуюсь. Эх, настольгия... Надо будет всё же попробовать это дело - http://qtlinux.narod.ru/make_for_win.htm
|
|
|
Что делать?
Поискать в самом верху монитора, в противоположном от часов направлении.
|
|
|
Слабенькие компы без орфанов копают неделями, запустил в качестве эксперимента на постоянку. Как проверить принимают или нет другие блоки без понятия.
Если копают, значит принимают.
|
|
|
2018-02-09 16:47:57 ERROR: AddToBlockIndex() : Rejected by stake modifier checkpoint height=0, modifier=0x0000000000000000
Чекпоинт старого генезиса похоже сработал - https://github.com/peercoin/peercoin/blob/master/src/kernel.cpp#L35Закоментить это дело можно. Но в этих модифаерах, стейках и т.п. POS-валют я не разбираюсь - сама парадигма этих валют мне не нравится.
|
|
|
Работаю на Kali Linux(x64), редактор кода Visual Studio Code. Компилирую через консоль, естественно. Поставьте Qt В смысле поставить qt? Он у меня стоит. Это что-то меняет?(и 4 и 5 версии). Qt Creator я имею ввиду. С ним и собирать и редактировать гораздо удобнее. И всё под него в этом коине вроде бы уже настроено и заточено если меня память не подводит. Но это вообще то мелочи. Чем удобнее, тем и пользуйтесь.
|
|
|
Работаю на Kali Linux(x64), редактор кода Visual Studio Code. Компилирую через консоль, естественно. Поставьте Qt debug.log: CheckProofOfWork() : hash doesn't match nBits Смотрите что не нравится функции CheckProofOfWork().
|
|
|
Ты свою домашнюю работу сперва сделай, троль блин мамкин.
Пошли фантазии "необоснованно" обиженного. Воду не нужно без толку лить, лучше будет её везти дальше и не расплёскивать. Кроме числа nonce в заголовке блока, что ещё может меняться? И что совершенно уникально абсолютно для каждого участника поиска очередного блока, будь то пул или CPU майнер? Что нужно, что бы находить примерно такие блоки - 00000000000000000000000000000000000000000000000000089а24с21d3 ?
|
|
|
Вундыркинд какой нашёлся. Панятна, специально, про вас, лигиндарных, у меня темка есть Начните лучше с поиска и исправления своих ошибок прежде чем соберётесь своим членом с многочленами мерится. Для меня логика и здравый смысл превыше всего - то бишь наука, а не религиозные знания с абсолютным отсутствием понимания.
|
|
|
|