kzv (OP)
Legendary
Offline
Activity: 1722
Merit: 1285
OpenTrade - Open Source Cryptocurrency Exchange
|
|
November 01, 2018, 01:08:16 PM |
|
На 16 убунту без проблем собрались бинарки для linux, а для win64 та же ошибка, может стоит попробовать собрать на 18 убунту?
Не попробуешь - не узнаешь )
|
|
|
|
progof
Jr. Member
Offline
Activity: 157
Merit: 4
|
|
November 01, 2018, 02:34:18 PM |
|
На 16 убунту без проблем собрались бинарки для linux, а для win64 та же ошибка, может стоит попробовать собрать на 18 убунту?
Не попробуешь - не узнаешь ) Запустил сборку на 18 убунту и та же ошибка, на какой версии убунту вы собираете свою монету для обновления?
|
|
|
|
ligor
Full Member
Offline
Activity: 1246
Merit: 138
Hodl DeepOnion
|
|
November 04, 2018, 04:36:12 PM |
|
На 16 убунту без проблем собрались бинарки для linux, а для win64 та же ошибка, может стоит попробовать собрать на 18 убунту?
Не попробуешь - не узнаешь ) Запустил сборку на 18 убунту и та же ошибка, на какой версии убунту вы собираете свою монету для обновления? Озадачился вопросом создания форка битка Собрал на 18.04 Убунте из под Виртуалбокса, не с первого раза конечно, но удачно. Особенно не курочил, только порты да генезис. И иксовый (QT Creator) и виндовые клиенты (ох уж этот make clean). Ну и демон под Визуал Студио также компилируется без вопросов.
|
|
|
|
progof
Jr. Member
Offline
Activity: 157
Merit: 4
|
|
November 04, 2018, 06:57:33 PM |
|
На 16 убунту без проблем собрались бинарки для linux, а для win64 та же ошибка, может стоит попробовать собрать на 18 убунту?
Не попробуешь - не узнаешь ) Запустил сборку на 18 убунту и та же ошибка, на какой версии убунту вы собираете свою монету для обновления? Озадачился вопросом создания форка битка Собрал на 18.04 Убунте из под Виртуалбокса, не с первого раза конечно, но удачно. Особенно не курочил, только порты да генезис. И иксовый (QT Creator) и виндовые клиенты (ох уж этот make clean). Ну и демон под Визуал Студио также компилируется без вопросов. Удачно собрали под линукс и виндовс? Или только под линкус? (с линуксом и у меня проблем не возникла)
|
|
|
|
ligor
Full Member
Offline
Activity: 1246
Merit: 138
Hodl DeepOnion
|
|
November 05, 2018, 01:53:11 PM Last edit: November 05, 2018, 04:40:24 PM by ligor |
|
Удачно собрали под линукс и виндовс? Или только под линкус? (с линуксом и у меня проблем не возникла)
И под линукс и под виндос удачно собралось. Но что-то пошло не так... ноды не синхронизируются. По отдельности работают, но данными не обмениваются. Причем в логах ничего плохого нет, друг друга видят, но блоки не синхронизируют. Или я что то напортачил (скорее всего). А может из-за последней версии битка 0.17.99 (но это вряд ли конечно). Так что рано я обрадовался. З.Ы. Разобрался, оказывается нужно еще было меньше установить nMinimumChainWork, а я как в какой-то инструкции задал. Плохо что в логах ничего не ругается, пока допер.
|
|
|
|
progof
Jr. Member
Offline
Activity: 157
Merit: 4
|
|
November 05, 2018, 05:11:59 PM |
|
Удачно собрали под линукс и виндовс? Или только под линкус? (с линуксом и у меня проблем не возникла)
И под линукс и под виндос удачно собралось. Но что-то пошло не так... ноды не синхронизируются. По отдельности работают, но данными не обмениваются. Причем в логах ничего плохого нет, друг друга видят, но блоки не синхронизируют. Или я что то напортачил (скорее всего). А может из-за последней версии битка 0.17.99 (но это вряд ли конечно). Так что рано я обрадовался. З.Ы. Разобрался, оказывается нужно еще было меньше установить nMinimumChainWork, а я как в какой-то инструкции задал. Плохо что в логах ничего не ругается, пока допер. Тоже разобрался, все уже собирается. До этого как вы поняли что ошибка связана с nMinimumChainWork сначала эта строка у вас выглядела примерно так? consensus.nMinimumChainWork = uint256S("0x0000000000000000000000000000000000000000000000000000000000000000");Если так, то nMinimumChainWork нужно сгенерировать новый или как? Можете объяснить этот момент
|
|
|
|
ligor
Full Member
Offline
Activity: 1246
Merit: 138
Hodl DeepOnion
|
|
November 05, 2018, 07:24:38 PM |
|
Тоже разобрался, все уже собирается. До этого как вы поняли что ошибка связана с nMinimumChainWork сначала эта строка у вас выглядела примерно так?
consensus.nMinimumChainWork = uint256S("0x0000000000000000000000000000000000000000000000000000000000000000");
Если так, то nMinimumChainWork нужно сгенерировать новый или как? Можете объяснить этот момент
Ну не нулевая была, 0000000000000000000000000000000000000000000000000000000100010001 (отсюда https://medium.com/@jordan.baczuk/how-to-fork-bitcoin-c39139506443) В консоли при запросе getblockchaininfo выдало для единственного 0 блока 0x0000000000000000000000000000000000000000000000000000000000001000 - вот его и поставил. consensus.nMinimumChainWork - The best chain should have at least this much work. Кстати, напоролся на засаду, при генерации блоков ЦПУ минером монеты уходили неизвестно куда. Вначале думал что с префиксами напортачил. Ан нет. Вот кусок кода size_t address_to_script(unsigned char *out, size_t outsz, const char *addr) { unsigned char addrbin[25]; int addrver; size_t rv;
if (!b58dec(addrbin, sizeof(addrbin), addr)) return 0; addrver = b58check(addrbin, sizeof(addrbin), addr); if (addrver < 0) return 0; switch (addrver) { case 5: /* Bitcoin script hash */ case 196: /* Testnet script hash */ if (outsz < (rv = 23)) return rv; out[ 0] = 0xa9; /* OP_HASH160 */ out[ 1] = 0x14; /* push 20 bytes */ memcpy(&out[2], &addrbin[1], 20); out[22] = 0x87; /* OP_EQUAL */ return rv; default: if (outsz < (rv = 25)) return rv; out[ 0] = 0x76; /* OP_DUP */ out[ 1] = 0xa9; /* OP_HASH160 */ out[ 2] = 0x14; /* push 20 bytes */ memcpy(&out[3], &addrbin[1], 20); out[23] = 0x88; /* OP_EQUALVERIFY */ out[24] = 0xac; /* OP_CHECKSIG */ return rv; } } Ну а мой префикс 21, и кошелек отправял не на скрипт, а в default. Уж не знаю на сколько это критично, сам особо не майню, но видно что ЦПУ минер может подставить в некоторых случаях.
|
|
|
|
progof
Jr. Member
Offline
Activity: 157
Merit: 4
|
|
November 05, 2018, 08:30:50 PM |
|
У меня сейчас нулевой nMinimumChainWork, при вводе getblockchaininfo показывает:
"chainwork": "0000000000000000000000000000000000000000000000000000000012f012f0
Это значение нужно вставить в nMinimumChainWork или ставить ваш нулевой? Как лучше сделать?
0x0000000000000000000000000000000000000000000000000000000000001000
|
|
|
|
ligor
Full Member
Offline
Activity: 1246
Merit: 138
Hodl DeepOnion
|
|
November 06, 2018, 08:31:54 AM |
|
У меня сейчас нулевой nMinimumChainWork, при вводе getblockchaininfo показывает:
"chainwork": "0000000000000000000000000000000000000000000000000000000012f012f0
Это значение нужно вставить в nMinimumChainWork или ставить ваш нулевой? Как лучше сделать?
0x0000000000000000000000000000000000000000000000000000000000001000
насколько я понимаю и нулевой будет работать, но по мере роста сети во избежание флуда от недоброжелателей ,насколько я понял перевод этого параметра, нужно будет увеличивать это значение.
|
|
|
|
progof
Jr. Member
Offline
Activity: 157
Merit: 4
|
|
November 06, 2018, 09:15:43 AM |
|
У меня сейчас нулевой nMinimumChainWork, при вводе getblockchaininfo показывает:
"chainwork": "0000000000000000000000000000000000000000000000000000000012f012f0
Это значение нужно вставить в nMinimumChainWork или ставить ваш нулевой? Как лучше сделать?
0x0000000000000000000000000000000000000000000000000000000000001000
насколько я понимаю и нулевой будет работать, но по мере роста сети во избежание флуда от недоброжелателей ,насколько я понял перевод этого параметра, нужно будет увеличивать это значение. Значение nMinimumChainWork увеличивать с ростом количества новых блоков и значения брать с блока (на каждом блоке другое значение)? Верно я понимаю, пример 500 блок 2000 блок и т.д
|
|
|
|
ligor
Full Member
Offline
Activity: 1246
Merit: 138
Hodl DeepOnion
|
|
November 06, 2018, 01:05:47 PM |
|
У меня сейчас нулевой nMinimumChainWork, при вводе getblockchaininfo показывает:
"chainwork": "0000000000000000000000000000000000000000000000000000000012f012f0
Это значение нужно вставить в nMinimumChainWork или ставить ваш нулевой? Как лучше сделать?
0x0000000000000000000000000000000000000000000000000000000000001000
насколько я понимаю и нулевой будет работать, но по мере роста сети во избежание флуда от недоброжелателей ,насколько я понял перевод этого параметра, нужно будет увеличивать это значение. Значение nMinimumChainWork увеличивать с ростом количества новых блоков и значения брать с блока (на каждом блоке другое значение)? Верно я понимаю, пример 500 блок 2000 блок и т.д Вот что я примерно понял: 1) https://github.com/bitcoin/bitcoin/commit/ad20cddce2097c6561202777fccd257deb1a9810 ввели параметр nMinimumChainWork 2) В описании: nMinimumChainWork with information from the getblockchaininfo rpc. - т.е. значение берется из консоли. 3) Так как согласно алгоритму ( pindexNew->nChainWork = (pindexNew->pprev ? pindexNew->pprev->nChainWork : 0) + GetBlockProof(*pindexNew)) - этот самый nChainWork может только расти (не вникая в подробности подозреваю что это сумма проделанной работы в каждом предшестующем и этом блоке - Total amount of work (expected number of hashes) in the chain up to and including this block). А значит в каждом выпуске программы можно (нужно?) брать из консоли getblockchaininfo параметр chainwork и вставлять его в chainparams.cpp Ну и вот место, из за которого мои ноды не синхронизировались: https://github.com/bitcoin/bitcoin/blob/bccb4d29a8080bf1ecda1fc235415a11d903a680/src/net_processing.cpp#L518 if (state->pindexBestKnownBlock == nullptr || state->pindexBestKnownBlock->nChainWork < chainActive.Tip()->nChainWork || state->pindexBestKnownBlock->nChainWork < nMinimumChainWork) { // This peer has nothing interesting. return;
|
|
|
|
MickNich
Newbie
Offline
Activity: 31
Merit: 0
|
|
December 14, 2018, 02:12:47 PM |
|
Скомпилировал версию 0.13.1 и получил в итоге не сколько файлов по в той папке /bitcoin-0.13.1/depends/i686-w64-mingw32/bin что нужно делать дальше чтобы запустить саму монету и учится дальше?
Ну чтобы по 10 раз в личке всем не объяснять, тут напишу еще краткий мануал как сделать форк битка Мануал, как создать форк очень простой: 1. Поменять генезис 2. Поменять название и иконки 3. Поменять еще что-нибудь или ничего больше не менять 4. Скомпилировать Генезис нынче стало модным не менять, но новичку я бы советовал сначала потренироваться с простым форком, а потом свой биткэш делать со встроенным блэкджеком )) Майнить генезис можно очень тупо примерно так https://github.com/3s3s/TKSR/blob/master/src/chainparams.cpp#L256но я все таки рекомендую майнить его вот этой программой https://github.com/Gnaf/GenesisBlockZeroКак и куда вставлять генезис я рассказывать не буду - если сами не осилите, то лучше и не начинайте в это влезать вообще Не все такие продвинутые и не все знают C++. Я с C++ кое как пытаюсь разобраться. Я хочу попробовать сделать свой ABCCoin на базе исходника Bitcoin, можете пошагово объяснить что надо делать? Я пока только понял что можно исходники взять тут https://github.com/bitcoin/bitcoinПотом мне надо поменять название Bitcoin на ABCCoin, поменять иконку, но где, в каком файле это надо менять? Генезис тоже хочу попробовать поменять, но а что в нем такого особенного что его надо как то по другому майнить и куда его вставлять? Как скомпилировать потом исходники после изменения, команды из первого поста подойдут для этого? 9. Вводим по очереди: ./autogen.sh ./configure make sudo make install
Не ругайтесь на новичка, я не собираюсь делать говнофорк а только хочу немного разобраться в этом. Чтобы работал мой ABCCoin мне достаточно будет 2 компов или надо больше? В 17 версии тоже нет майнинга, надо брать 12 версию если хочу пробовать с майнингом?
|
|
|
|
ligor
Full Member
Offline
Activity: 1246
Merit: 138
Hodl DeepOnion
|
|
December 14, 2018, 02:17:55 PM |
|
Не ругайтесь на новичка, я не собираюсь делать говнофорк а только хочу немного разобраться в этом.
Чтобы работал мой ABCCoin мне достаточно будет 2 компов или надо больше?
В 17 версии тоже нет майнинга, надо брать 12 версию если хочу пробовать с майнингом?
-В теме и по ссылкам вполне достаточно информации для создания форка (для тренировок конечно ) -2 достаточно. И даже 1 если на нем виртуалку установить -майнить можно будет простым ЦПУ минером, хотя опять таки можно вернуть часть вырезанного кода (на Гитхабе вроде есть подобное). Ну или даже просто консольной командой generate.
|
|
|
|
MickNich
Newbie
Offline
Activity: 31
Merit: 0
|
|
December 14, 2018, 02:28:12 PM |
|
-В теме и по ссылкам вполне достаточно информации для создания форка (для тренировок конечно ) Буду разбираться, но если бы кто то сделал полноценный мануал для совсем новичков то это было бы полезно и не было бы лишнего флуда. А разве форк для тренировки отличается от реального форка?
|
|
|
|
MickNich
Newbie
Offline
Activity: 31
Merit: 0
|
|
December 15, 2018, 04:14:33 PM |
|
Спомощью этой программы https://github.com/Gnaf/GenesisBlockZero/blob/master/genesisblock.c пытаюсь сгенерировать генезис блок, но получаю на экране такой вывод Block found! Hash: 00000000a0c67aa47840e7b73e06a0e4dcc10a98bd8ddee831092788194f0acc Nonce: 3928961846 Unix time: 1544886668
Никакие фалы на диске вроде не создаются, хочу узнать как же мне сгенерировать генезис блок?
|
|
|
|
|
|
MickNich
Newbie
Offline
Activity: 31
Merit: 0
|
|
December 19, 2018, 06:20:48 PM |
|
пробовал собрать 12 и 13 версии и никак, а попробовал 17 версию и собралось. Я получил такие файлы в /usr/local/bin bench_bitcoin bitcoin-cli bitcoind bitcoin-qt bitcoin-tx test_bitcoin test_bitcoin-qt Объясните по каждому файлу что они делают?
Кошелек это bitcoin-qt? но у меня он вроде как запускается только сам кошелек не появляется
|
|
|
|
ligor
Full Member
Offline
Activity: 1246
Merit: 138
Hodl DeepOnion
|
|
December 19, 2018, 06:59:43 PM |
|
пробовал собрать 12 и 13 версии и никак, а попробовал 17 версию и собралось. Я получил такие файлы в /usr/local/bin bench_bitcoin bitcoin-cli bitcoind bitcoin-qt bitcoin-tx test_bitcoin test_bitcoin-qt Объясните по каждому файлу что они делают?
Кошелек это bitcoin-qt? но у меня он вроде как запускается только сам кошелек не появляется
Что знаю: bitcoind - демон (из консоли) bitcoin-cli - клиент к демону (из консоли) bitcoin-qt - гуи кошелек. Должен появляться интерфейс если собран правильно.
|
|
|
|
MickNich
Newbie
Offline
Activity: 31
Merit: 0
|
|
December 19, 2018, 07:31:18 PM |
|
пробовал собрать 12 и 13 версии и никак, а попробовал 17 версию и собралось. Я получил такие файлы в /usr/local/bin bench_bitcoin bitcoin-cli bitcoind bitcoin-qt bitcoin-tx test_bitcoin test_bitcoin-qt Объясните по каждому файлу что они делают?
Кошелек это bitcoin-qt? но у меня он вроде как запускается только сам кошелек не появляется
Что знаю: bitcoind - демон (из консоли) bitcoin-cli - клиент к демону (из консоли) bitcoin-qt - гуи кошелек. Должен появляться интерфейс если собран правильно. Собрал - это я просто смог исходники скомпилировать. Я смотрю что 17 версия сильно отличается от старых версий на которые можно найти примеры что надо менять чтобы свой форк сделать. Что делать с 17 версией пока не понимаю, даже пока не могу найти где задается номер порта по умолчанию? А не знаете, может ли работать пример без майнера? Как будут транзакции отправляться без майнинга блоков в 17 версии?
|
|
|
|
|