Bitcoin Forum
June 29, 2024, 10:45:59 AM *
News: Latest Bitcoin Core release: 27.0 [Torrent]
 
   Home   Help Search Login Register More  
Pages: « 1 2 3 4 5 6 7 [8] 9 »  All
  Print  
Author Topic: Собрал 0.13.0 из исходников  (Read 36773 times)
kzv (OP)
Legendary
*
Offline Offline

Activity: 1722
Merit: 1285

OpenTrade - Open Source Cryptocurrency Exchange


View Profile WWW
November 01, 2018, 01:08:16 PM
 #141

На 16 убунту без проблем собрались бинарки для linux, а для win64 та же ошибка, может стоит попробовать собрать на 18 убунту?

Не попробуешь - не узнаешь )

OpenTrade - Open Source Cryptocurrency Exchange
progof
Jr. Member
*
Offline Offline

Activity: 157
Merit: 4


View Profile
November 01, 2018, 02:34:18 PM
 #142

На 16 убунту без проблем собрались бинарки для linux, а для win64 та же ошибка, может стоит попробовать собрать на 18 убунту?

Не попробуешь - не узнаешь )

Запустил сборку на 18 убунту и та же ошибка, на какой версии убунту вы собираете свою монету для обновления?
ligor
Full Member
***
Offline Offline

Activity: 1246
Merit: 138


Hodl DeepOnion


View Profile WWW
November 04, 2018, 04:36:12 PM
 #143

На 16 убунту без проблем собрались бинарки для linux, а для win64 та же ошибка, может стоит попробовать собрать на 18 убунту?

Не попробуешь - не узнаешь )

Запустил сборку на 18 убунту и та же ошибка, на какой версии убунту вы собираете свою монету для обновления?
Озадачился вопросом создания форка битка Smiley Собрал на 18.04 Убунте из под Виртуалбокса, не с первого раза конечно, но удачно. Особенно не курочил, только порты да генезис. И иксовый (QT Creator) и виндовые клиенты (ох уж этот make clean).
Ну и демон под Визуал Студио также компилируется без вопросов.

progof
Jr. Member
*
Offline Offline

Activity: 157
Merit: 4


View Profile
November 04, 2018, 06:57:33 PM
 #144

На 16 убунту без проблем собрались бинарки для linux, а для win64 та же ошибка, может стоит попробовать собрать на 18 убунту?

Не попробуешь - не узнаешь )

Запустил сборку на 18 убунту и та же ошибка, на какой версии убунту вы собираете свою монету для обновления?
Озадачился вопросом создания форка битка Smiley Собрал на 18.04 Убунте из под Виртуалбокса, не с первого раза конечно, но удачно. Особенно не курочил, только порты да генезис. И иксовый (QT Creator) и виндовые клиенты (ох уж этот make clean).
Ну и демон под Визуал Студио также компилируется без вопросов.


Удачно собрали под линукс и виндовс? Или только под линкус? (с линуксом и у меня проблем не возникла)
ligor
Full Member
***
Offline Offline

Activity: 1246
Merit: 138


Hodl DeepOnion


View Profile WWW
November 05, 2018, 01:53:11 PM
Last edit: November 05, 2018, 04:40:24 PM by ligor
 #145


Удачно собрали под линукс и виндовс? Или только под линкус? (с линуксом и у меня проблем не возникла)
И под линукс и под виндос удачно собралось.

Но что-то пошло не так... ноды не синхронизируются. По отдельности работают, но данными не обмениваются. Причем в логах ничего плохого нет, друг друга видят, но блоки не синхронизируют.
Или я что то напортачил (скорее всего). А может из-за последней версии битка 0.17.99 (но это вряд ли конечно). Так что рано я обрадовался.


З.Ы. Разобрался, оказывается нужно еще было меньше установить nMinimumChainWork, а я как в какой-то инструкции задал. Плохо что в логах ничего не ругается, пока допер.

progof
Jr. Member
*
Offline Offline

Activity: 157
Merit: 4


View Profile
November 05, 2018, 05:11:59 PM
 #146


Удачно собрали под линукс и виндовс? Или только под линкус? (с линуксом и у меня проблем не возникла)
И под линукс и под виндос удачно собралось.

Но что-то пошло не так... ноды не синхронизируются. По отдельности работают, но данными не обмениваются. Причем в логах ничего плохого нет, друг друга видят, но блоки не синхронизируют.
Или я что то напортачил (скорее всего). А может из-за последней версии битка 0.17.99 (но это вряд ли конечно). Так что рано я обрадовался.


З.Ы. Разобрался, оказывается нужно еще было меньше установить nMinimumChainWork, а я как в какой-то инструкции задал. Плохо что в логах ничего не ругается, пока допер.

Тоже разобрался, все уже собирается. До этого как вы поняли что ошибка связана с nMinimumChainWork сначала эта строка у вас выглядела примерно так?

consensus.nMinimumChainWork = uint256S("0x0000000000000000000000000000000000000000000000000000000000000000");

Если так, то nMinimumChainWork нужно сгенерировать новый или как? Можете объяснить этот момент
ligor
Full Member
***
Offline Offline

Activity: 1246
Merit: 138


Hodl DeepOnion


View Profile WWW
November 05, 2018, 07:24:38 PM
 #147


Тоже разобрался, все уже собирается. До этого как вы поняли что ошибка связана с 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.

Кстати, напоролся на засаду, при генерации блоков ЦПУ минером монеты уходили неизвестно куда. Вначале думал что с префиксами напортачил. Ан нет. Вот кусок кода

Quote
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 Offline

Activity: 157
Merit: 4


View Profile
November 05, 2018, 08:30:50 PM
 #148

У меня сейчас нулевой nMinimumChainWork, при вводе getblockchaininfo показывает:

"chainwork": "0000000000000000000000000000000000000000000000000000000012f012f0

Это значение нужно вставить в nMinimumChainWork или ставить ваш нулевой? Как лучше сделать?

0x0000000000000000000000000000000000000000000000000000000000001000
ligor
Full Member
***
Offline Offline

Activity: 1246
Merit: 138


Hodl DeepOnion


View Profile WWW
November 06, 2018, 08:31:54 AM
 #149

У меня сейчас нулевой nMinimumChainWork, при вводе getblockchaininfo показывает:

"chainwork": "0000000000000000000000000000000000000000000000000000000012f012f0

Это значение нужно вставить в nMinimumChainWork или ставить ваш нулевой? Как лучше сделать?

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

progof
Jr. Member
*
Offline Offline

Activity: 157
Merit: 4


View Profile
November 06, 2018, 09:15:43 AM
 #150

У меня сейчас нулевой nMinimumChainWork, при вводе getblockchaininfo показывает:

"chainwork": "0000000000000000000000000000000000000000000000000000000012f012f0

Это значение нужно вставить в nMinimumChainWork или ставить ваш нулевой? Как лучше сделать?

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

Значение nMinimumChainWork увеличивать с ростом количества новых блоков и значения брать с блока (на каждом блоке другое значение)? Верно я понимаю, пример 500 блок 2000 блок и т.д
ligor
Full Member
***
Offline Offline

Activity: 1246
Merit: 138


Hodl DeepOnion


View Profile WWW
November 06, 2018, 01:05:47 PM
 #151

У меня сейчас нулевой 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

Quote
if (state->pindexBestKnownBlock == nullptr || state->pindexBestKnownBlock->nChainWork < chainActive.Tip()->nChainWork || state->pindexBestKnownBlock->nChainWork < nMinimumChainWork) {
        // This peer has nothing interesting.
        return;


MickNich
Newbie
*
Offline Offline

Activity: 31
Merit: 0


View Profile
December 14, 2018, 02:12:47 PM
 #152

Скомпилировал версию 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

Как и куда вставлять генезис я рассказывать не буду - если сами не осилите, то лучше и не начинайте в это влезать вообще  Smiley

Не все такие продвинутые и не все знают C++. Я с C++ кое как пытаюсь разобраться.

Я хочу попробовать сделать свой ABCCoin на базе исходника Bitcoin, можете пошагово объяснить что надо делать?

Я пока только понял что можно исходники взять тут https://github.com/bitcoin/bitcoin

Потом мне надо поменять название Bitcoin на ABCCoin, поменять иконку, но где, в каком файле это надо менять?

Генезис тоже хочу попробовать поменять, но а что в нем такого особенного что его надо как то по другому майнить и куда его вставлять?

Как скомпилировать потом исходники после изменения, команды из первого поста подойдут для этого?
Quote

9. Вводим по очереди:
./autogen.sh
./configure
make
sudo make install

Не ругайтесь на новичка, я не собираюсь делать говнофорк а только хочу немного разобраться в этом.

Чтобы работал мой ABCCoin мне достаточно будет 2 компов или надо больше?

В 17 версии тоже нет майнинга, надо брать 12 версию если хочу пробовать с майнингом?
ligor
Full Member
***
Offline Offline

Activity: 1246
Merit: 138


Hodl DeepOnion


View Profile WWW
December 14, 2018, 02:17:55 PM
 #153


Не ругайтесь на новичка, я не собираюсь делать говнофорк а только хочу немного разобраться в этом.

Чтобы работал мой ABCCoin мне достаточно будет 2 компов или надо больше?

В 17 версии тоже нет майнинга, надо брать 12 версию если хочу пробовать с майнингом?

-В теме и по ссылкам вполне достаточно информации для создания форка (для тренировок конечно Smiley )
-2 достаточно. И даже 1 если на нем виртуалку установить
-майнить можно будет простым ЦПУ минером, хотя опять таки можно вернуть часть вырезанного кода (на Гитхабе вроде есть подобное). Ну или даже просто консольной командой generate.

MickNich
Newbie
*
Offline Offline

Activity: 31
Merit: 0


View Profile
December 14, 2018, 02:28:12 PM
 #154


-В теме и по ссылкам вполне достаточно информации для создания форка (для тренировок конечно Smiley )

Буду разбираться, но если бы кто то сделал полноценный мануал для совсем новичков то это было бы полезно и не было бы лишнего флуда.
А разве форк для тренировки отличается от реального форка?
MickNich
Newbie
*
Offline Offline

Activity: 31
Merit: 0


View Profile
December 15, 2018, 04:14:33 PM
 #155

Спомощью этой программы https://github.com/Gnaf/GenesisBlockZero/blob/master/genesisblock.c пытаюсь сгенерировать генезис блок, но получаю на экране такой вывод
Code:
Block found!
Hash: 00000000a0c67aa47840e7b73e06a0e4dcc10a98bd8ddee831092788194f0acc
Nonce: 3928961846
Unix time: 1544886668

Никакие фалы на диске вроде не создаются, хочу узнать как же мне сгенерировать генезис блок?
ligor
Full Member
***
Offline Offline

Activity: 1246
Merit: 138


Hodl DeepOnion


View Profile WWW
December 15, 2018, 04:31:08 PM
 #156

Спомощью этой программы https://github.com/Gnaf/GenesisBlockZero/blob/master/genesisblock.c пытаюсь сгенерировать генезис блок, но получаю на экране такой вывод
Code:
Block found!
Hash: 00000000a0c67aa47840e7b73e06a0e4dcc10a98bd8ddee831092788194f0acc
Nonce: 3928961846
Unix time: 1544886668

Никакие фалы на диске вроде не создаются, хочу узнать как же мне сгенерировать генезис блок?
Ну так это надо в код забить. Еще кстати выдернуть и поменять Меркеля.

Вот может поможет

https://ensrationis.com/%D0%B3%D0%B5%D0%BD%D0%B5%D1%80%D0%B0%D1%86%D0%B8%D1%8F-genesis-block/
https://forum.bits.media/index.php?/topic/18648-%D1%81%D0%BE%D0%B7%D0%B4%D0%B0%D0%BD%D0%B8%D0%B5-%D1%84%D0%BE%D1%80%D0%BA%D0%B0-%D0%BD%D0%B0-%D0%BE%D1%81%D0%BD%D0%BE%D0%B2%D0%B5-dash/

MickNich
Newbie
*
Offline Offline

Activity: 31
Merit: 0


View Profile
December 18, 2018, 01:15:34 PM
 #157

Спомощью этой программы https://github.com/Gnaf/GenesisBlockZero/blob/master/genesisblock.c пытаюсь сгенерировать генезис блок, но получаю на экране такой вывод
Code:
Block found!
Hash: 00000000a0c67aa47840e7b73e06a0e4dcc10a98bd8ddee831092788194f0acc
Nonce: 3928961846
Unix time: 1544886668

Никакие фалы на диске вроде не создаются, хочу узнать как же мне сгенерировать генезис блок?
Ну так это надо в код забить. Еще кстати выдернуть и поменять Меркеля.

Вот может поможет

https://ensrationis.com/%D0%B3%D0%B5%D0%BD%D0%B5%D1%80%D0%B0%D1%86%D0%B8%D1%8F-genesis-block/
https://forum.bits.media/index.php?/topic/18648-%D1%81%D0%BE%D0%B7%D0%B4%D0%B0%D0%BD%D0%B8%D0%B5-%D1%84%D0%BE%D1%80%D0%BA%D0%B0-%D0%BD%D0%B0-%D0%BE%D1%81%D0%BD%D0%BE%D0%B2%D0%B5-dash/

Не много это помогло.
Я не понял почему если я генерирую ключи так как написано https://forum.bits.media/index.php?/topic/18648-%D1%81%D0%BE%D0%B7%D0%B4%D0%B0%D0%BD%D0%B8%D0%B5-%D1%84%D0%BE%D1%80%D0%BA%D0%B0-%D0%BD%D0%B0-%D0%BE%D1%81%D0%BD%D0%BE%D0%B2%D0%B5-dash/

командой openssl ecparam -genkey -name secp256r1 -out mainalert.pem
то у меня получается ключ который я потом могу использовать для создания генезис блока(после того как уберу двоеточия), а если я генерирую ключи из дистрибутива Bitcoin Core или на сайте https://iancoleman.io/bip39/ то эти ключи я использовать не могу, чем отличаются эти ключи, можно их как то один к другому привести?
MickNich
Newbie
*
Offline Offline

Activity: 31
Merit: 0


View Profile
December 19, 2018, 06:20:48 PM
 #158

пробовал собрать 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 Offline

Activity: 1246
Merit: 138


Hodl DeepOnion


View Profile WWW
December 19, 2018, 06:59:43 PM
 #159

пробовал собрать 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 Offline

Activity: 31
Merit: 0


View Profile
December 19, 2018, 07:31:18 PM
 #160

пробовал собрать 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 версии?
Pages: « 1 2 3 4 5 6 7 [8] 9 »  All
  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!