Bitcoin Forum

Local => Кодеры => Topic started by: kzv on September 22, 2016, 01:51:53 PM



Title: Собрал 0.13.0 из исходников
Post by: kzv on September 22, 2016, 01:51:53 PM
Тема была создана, когда самой новой версией биткоина была 0.13
Прошло время и решил скомпилировать 0.16.2 всего одной консольной командой. Удачно. Кому интересно, вот ссылка на тему:
https://bitcointalk.org/index.php?topic=4912326.msg44246451#msg44246451


Дальше описан процесс компиляяции версии 0.13.


Вообще никаких проблем! Даже не ожидал, что опенсорс может так легко собраться.
Делюсь опытом, вдруг кому пригодится. По шагам:

1. Установить Oracle VM VirtualBox - это бесплатная виртуальная машина.
2. Скачать последний дистрибутив убунту
3. Установить убунту на виртуальную машину (!версия убунту должна быть 14 или выше!)
4. Опционально: Установить дополнения в виртуальную машину (меню Устройства), чтобы можно было работать с буфером обмена
5. Зайти в консоль убунты: Alt+Ctrl+T
6. В консоли по очереди набирать (копипастить) следующие команды:

sudo apt-get update
sudo apt-get upgrade
sudo apt-get install build-essential libtool autotools-dev automake pkg-config libssl-dev libevent-dev bsdmainutils
sudo apt-get install libboost-system-dev libboost-filesystem-dev libboost-chrono-dev libboost-program-options-dev libboost-test-dev libboost-thread-dev
sudo add-apt-repository ppa:bitcoin/bitcoin
sudo apt-get update
sudo apt-get install libdb4.8-dev libdb4.8++-dev
sudo apt-get install libminiupnpc-dev
sudo apt-get install libzmq3-dev
sudo apt-get install libqt5gui5 libqt5core5a libqt5dbus5 qttools5-dev qttools5-dev-tools libprotobuf-dev protobuf-compiler
sudo apt-get install libqrencode-dev

Замечание: на другом компе у меня команда sudo add-apt-repository ppa:bitcoin/bitcoin
выдала ошибку. Без этой команды все остальное тоже фейлится. Вылечилось так:

sudo apt-get update
sudo add-apt-repository ppa:bitcoin/bitcoin
sudo apt-get update

Ну то есть перед этой командой сначала нужно проапдейтиться.


Все вышеперечисленное можно ввести как одну команду (просто скопипастить в терминал)

sudo apt-get update && apt-get upgrade -y && apt-get install build-essential libtool autotools-dev automake pkg-config libssl-dev libevent-dev bsdmainutils libboost-system-dev libboost-filesystem-dev libboost-chrono-dev libboost-program-options-dev libboost-test-dev libboost-thread-dev -y && apt-get update -y && add-apt-repository ppa:bitcoin/bitcoin && apt-get update -y && apt-get install libdb4.8-dev libdb4.8++-dev libminiupnpc-dev libzmq3-dev libqt5gui5 libqt5core5a libqt5dbus5 qttools5-dev qttools5-dev-tools libprotobuf-dev protobuf-compiler libqrencode-dev -y

Через некоторое время терминал попросит нажать Enter - не стесняйтесь, нажмите.

7. Теперь все готово для скачивания и компиляции битка. Я скачал из ветки релизов последнюю версию:
wget https://github.com/bitcoin/bitcoin/archive/v0.13.0.tar.gz

8. Распаковываем и переходим в папку исходников:
tar -xvzf v0.13.0.tar.gz
cd bitcoin-0.13.0

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


10. Все! Теперь бинарики для убунты лежат в папке /usr/local/bin

Теперь можно издеваться над исходниками в любимом редакторе, а когда надоест опять выполнить из папки исходников:
make
sudo make install

ВАЖНО: Если кто-то захочет делать форк, то учтите что в 13 версии коры из исходников выпилили возможность майнинга. Поэтому для форка нужно либо использовать версии 12 и ниже, либо придется делать еще и форк какого-нибудь майнера.
Мне потребовалась неделя, чтобы понять - почему моя сборка упорно не хочет майнить.  :(

ПО ПУНКТУ 9: Если нужно сделать бинарик, который будет работать не только в убунте, но и в других линуксах, то в пункте 9 нужно проделать такие шаги:

Для Linux 64 bit (собирается и работает только в 64 битном линуксе)
Code:
cd depends
make download
make
cd ..
./autogen.sh
./configure --enable-glibc-back-compat --prefix=`pwd`/depends/x86_64-pc-linux-gnu LDFLAGS="-static-libstdc++"
make clean
make
make install
Бинарики будут лежать в папке depends/x86_64-pc-linux-gnu/bin

Для Linux 32 bit (собирается и работает только в 32 битном линуксе)
Code:
cd depends
make download
make
cd ..
./autogen.sh
./configure --enable-glibc-back-compat --prefix=`pwd`/depends/i686-pc-linux-gnu LDFLAGS="-static-libstdc++"
make clean
make
make install
Бинарики будут лежать в папке depends/i686-pc-linux-gnu/bin

Такая компиляция прилинкует к бинарику все нужные библиотеки.

Собрать бинарики для винды можно так:

Для Win64
Code:
sudo apt-get install g++-mingw-w64-i686 mingw-w64-i686-dev g++-mingw-w64-x86-64 mingw-w64-x86-64-dev curl
cd depends
make download
make HOST=x86_64-w64-mingw32 -j4
cd ..
./configure --prefix=`pwd`/depends/x86_64-w64-mingw32
make clean
make
make install
Бинарики будут лежать в папке depends/x86_64-w64-mingw32/bin

Для Win32
Code:
sudo apt-get install g++-mingw-w64-i686 mingw-w64-i686-dev g++-mingw-w64-x86-64 mingw-w64-x86-64-dev curl
cd depends
make download
make HOST=i686-w64-mingw32 -j4
cd ..
./configure --prefix=`pwd`/depends/i686-w64-mingw32
make clean
make
make install
Бинарики будут лежать в папке depends/i686-w64-mingw32/bin


Полезные ссылки в этой теме:


Для компиляции нужно не менее 2 ГБ оперативной памяти. Если у вас меньше, можно увеличить:
 Как добавить виртуальной памяти в Убунту  (https://bitcointalk.org/index.php?topic=1624251.msg26449601#msg26449601)

Если все скомпилировалось а вы решили делать свой форк, то вот инструкция:
 Как сделать свой форк биткоина (https://bitcointalk.org/index.php?topic=1624251.msg26716671#msg26716671)





Title: Re: Собрал 0.13.0 из исходников
Post by: negeroy on September 22, 2016, 02:21:22 PM
2. Скачать последний дистрибутив убунту 32 битную версию (Oracle VM только такие поддерживает)

Почему только такие, стоит несколько 64 и 32 битных, разных версий, все работают норм, версия 4.3.12-93733


Title: Re: Собрал 0.13.0 из исходников
Post by: kzv on September 22, 2016, 07:24:50 PM
2. Скачать последний дистрибутив убунту 32 битную версию (Oracle VM только такие поддерживает)

Почему только такие, стоит несколько 64 и 32 битных, разных версий, все работают норм, версия 4.3.12-93733

Да точно, 64 бит тоже поддерживает. Исправлю первый пост.


Title: Re: Собрал 0.13.0 из исходников
Post by: kzv on September 23, 2016, 10:40:57 AM
Черт, для винды бинарики не собираются. Делаю по инструкции с гитхаба:
cd depends
make HOST=x86_64-w64-mingw32 -j4
cd ..
./configure --prefix=`pwd`/depends/x86_64-w64-mingw32
make

Первый мэйк чего-то делал аж 5 часов! Но вроде отработал без ошибок.
Последний мэйк вылетает с ошибкой.


Title: Re: Собрал 0.13.0 из исходников
Post by: kzv on September 24, 2016, 05:12:41 AM
Собрал для винды.
Но блин 10 часов собиралось на виртуалке!!! Это жопа конечно  :(

Почему с первого раза не собралось - потому что надо было сделать сначала
make clean

Чтобы очистить комп от предыдущей сборки под линукс. Потом
make
make install

и все собирается.


Title: Re: Собрал 0.13.0 из исходников
Post by: alt2 on September 24, 2016, 08:26:48 AM
Собрал для винды.
Но блин 10 часов собиралось на виртуалке!!! Это жопа конечно  :(

Почему с первого раза не собралось - потому что надо было сделать сначала
make clean

Чтобы очистить комп от предыдущей сборки под линукс. Потом
make
make install

и все собирается.

Ты для Винды на Линуксе собирал? )

Чем собирать на Виндах? Хочу в перспективе тоже этим позаниматься.


Title: Re: Собрал 0.13.0 из исходников
Post by: kzv on September 24, 2016, 08:29:18 AM
Собрал для винды.
Но блин 10 часов собиралось на виртуалке!!! Это жопа конечно  :(

Почему с первого раза не собралось - потому что надо было сделать сначала
make clean

Чтобы очистить комп от предыдущей сборки под линукс. Потом
make
make install

и все собирается.

Ты для Винды на Линуксе собирал? )

Чем собирать на Виндах? Хочу в перспективе тоже этим позаниматься.

Да, для винды на линуксе.
Разрабы на гитхабе пишут, что на винде собрать пока никому не удалось. Так что у желающих есть шанс войти в историю  ;D


Title: Re: Собрал 0.13.0 из исходников
Post by: antiment6 on September 24, 2016, 09:30:56 AM
Ты для Винды на Линуксе собирал? )

Чем собирать на Виндах? Хочу в перспективе тоже этим позаниматься.

Да, для винды на линуксе.
Разрабы на гитхабе пишут, что на винде собрать пока никому не удалось. Так что у желающих есть шанс войти в историю  ;D

Спасибо за информацию... И что, при следующей сборке опять 10 часов нужно ждать, или не всё подряд компилирует и получается быстрее? 10 часов это совсем медленно.


Title: Re: Собрал 0.13.0 из исходников
Post by: kzv on September 24, 2016, 09:32:52 AM
Ты для Винды на Линуксе собирал? )

Чем собирать на Виндах? Хочу в перспективе тоже этим позаниматься.

Да, для винды на линуксе.
Разрабы на гитхабе пишут, что на винде собрать пока никому не удалось. Так что у желающих есть шанс войти в историю  ;D

Спасибо за информацию... И что, при следующей сборке опять 10 часов нужно ждать, или не всё подряд компилирует и получается быстрее? 10 часов это совсем медленно.

Следующая сборка проходит быстрее.
Компилируется только то, что исправили в исходниках.


Title: Re: Собрал 0.13.0 из исходников
Post by: kcaterpillar on September 24, 2016, 03:49:20 PM

Следующая сборка проходит быстрее.
...

Возможно при первой сборке он по сети что-то подтягивает? Например, недостающие библиотеки? А сколько времени вторая и последующая сборки занимают?

Не могли бы вы рассказать поподробнее, на какой машине всё делали - процессор, частота главное, сколько оперативки стоит, сколько на диске требуется места и т.д. Какой софт - линукс, винда и т.д. какие компиляторы, среда, на всех этапах с самого начала?

Спасибо.


Title: Re: Собрал 0.13.0 из исходников
Post by: kzv on September 24, 2016, 07:32:29 PM

Следующая сборка проходит быстрее.
...

Возможно при первой сборке он по сети что-то подтягивает? Например, недостающие библиотеки? А сколько времени вторая и последующая сборки занимают?

Не могли бы вы рассказать поподробнее, на какой машине всё делали - процессор, частота главное, сколько оперативки стоит, сколько на диске требуется места и т.д. Какой софт - линукс, винда и т.д. какие компиляторы, среда, на всех этапах с самого начала?

Спасибо.

1. При первой сборке он компилирует все исходники с нуля - это очень долго. При последующих сборках компилируются только файлы, которые изменились со времени предыдущей сборки - это быстро. Если никакие файлы не изменились, то слудующая сборка пройдет за три секунды ))
2. Я все делал на виртуальной машине. Там можно задать вручную количество памяти, количество процессоров, место на диске. Естественно, чем больше задать - тем лучше.
Разрабы рекомендуют памяти 1.5 гига, но у меня без проблем скомпилировалось на одном гигабайте, хост машина имеет 4 гига.
В настройках виртуальной машины у меня один процессор, хотя хост машина имеет 4 ядра.
По умолчанию виртуалка предлагает создать диск на 8 гигов - это очень мало! Создавайте на 16 как минимум.
3. Софт на виртуалке - убунту 16, 32 бит. Винда на хост машине десятая.
Компиляторы и библиотеки устанавливаются командами, которые я привел в первом посте (пункт 6). Что там конкретно устанавливается знать не обязательно, по крайней мере если вы не собираетесь перелопатить весь исходник от и до ))
 


Title: Re: Собрал 0.13.0 из исходников
Post by: yo-blin on September 25, 2016, 04:08:40 PM
А прямо в винде, в Qt не пробовали собирать ?


Title: Re: Собрал 0.13.0 из исходников
Post by: kzv on September 25, 2016, 06:07:25 PM
А прямо в винде, в Qt не пробовали собирать ?

Не пробовал. И так понятно, что не соберется.

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

Quote
Building on Windows itself is possible (for example using msys / mingw-w64), but no one documented the steps to do this. If you are doing this, please contribute them.
https://github.com/bitcoin/bitcoin/blob/master/doc/build-windows.md


Title: Re: Собрал 0.13.0 из исходников
Post by: kzv on October 02, 2016, 06:38:41 PM
Если кто-то захочет делать форк, то учтите что в 13 версии коры из исходников выпилили возможность майнинга. Поэтому для форка нужно либо использовать версии 12 и ниже, либо придется делать еще и форк какого-нибудь майнера.
Мне потребовалась неделя, чтобы понять - почему моя сборка упорно не хочет майнить.  :(


Title: Re: Собрал 0.13.0 из исходников
Post by: bct2 on October 03, 2016, 07:51:32 AM
Если кто-то захочет делать форк, то учтите что в 13 версии коры из исходников выпилили возможность майнинга. Поэтому для форка нужно либо использовать версии 12 и ниже, либо придется делать еще и форк какого-нибудь майнера.
Мне потребовалась неделя, чтобы понять - почему моя сборка упорно не хочет майнить.  :(

в 13-й версии встроили Сегвит, пока как заглушку, для теста видимо. По этой причине скорее всего и убрали майнинг, чтобы никто не стал мутить с форками. Должны вернуть в окончательном варианте с сегвитом.

А вообще странно всё это.


Title: Re: Собрал 0.13.0 из исходников
Post by: kzv on October 04, 2016, 09:35:23 AM
Если кто-то захочет делать форк, то учтите что в 13 версии коры из исходников выпилили возможность майнинга. Поэтому для форка нужно либо использовать версии 12 и ниже, либо придется делать еще и форк какого-нибудь майнера.
Мне потребовалась неделя, чтобы понять - почему моя сборка упорно не хочет майнить.  :(

в 13-й версии встроили Сегвит, пока как заглушку, для теста видимо. По этой причине скорее всего и убрали майнинг, чтобы никто не стал мутить с форками. Должны вернуть в окончательном варианте с сегвитом.

А вообще странно всё это.

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


Title: Re: Собрал 0.13.0 из исходников
Post by: kzv on October 04, 2016, 07:03:07 PM
Краткий мануал как скомпилировать в нормальной IDE

1. Делаем с первого по восьмой шаги из стартового поста (только не для 13, а для 12 версии коры). В шаге 9, выполняем только скрипт "./autogen.sh"
2. Качаем и устанавливаем IDE Netbeans для линукса C/C++
wget http://download.netbeans.org/netbeans/8.2/final/bundles/netbeans-8.2-cpp-linux-x64.sh
sudo chmod 777 netbeans-8.2-cpp-linux-x64.sh
sudo ./netbeans-8.2-cpp-linux-x64.sh

3. Запускаем нетбинс, идем в меню File => New Project => C/C++ Project with Existing Sources
4. Выбираем папку с исходниками битка bitcoin-0.12.1 и жмем Next, потом Finish. Ждем, когда нетбинс скомпилирует все исходники.

Готово! Теперь можно пробовать что-то менять в комфортной среде разработки.




Title: Re: Собрал 0.13.0 из исходников
Post by: kzv on October 06, 2016, 06:37:39 PM
После долгих мучений удалось скомпилировать "статическую" версию для линукса. В отличии от обычной, статичная будет работать и в разных дистрибутивах без дополнительных танцев с бубном установок библиотек - все библиотеки прилинкованы к исполняемому файлу!

Code:
cd depends
make clean
make
cd ..
./autogen.sh
./configure --enable-glibc-back-compat --prefix=`pwd`/depends/x86_64-pc-linux-gnu LDFLAGS="-static-libstdc++"
make clean
make
make install

Спасибо за помощь английской ветке, без них я бы сам точно не допер как это сделать... Подробности тут https://bitcointalk.org/index.php?topic=1636271.msg16455631#msg16455631  :)


Title: Re: Собрал 0.13.0 из исходников
Post by: booktiger on October 08, 2016, 08:32:35 AM
После долгих мучений удалось скомпилировать "статическую" версию для линукса. В отличии от обычной, статичная будет работать и в разных дистрибутивах без дополнительных танцев с бубном установок библиотек - все библиотеки прилинкованы к исполняемому файлу!

Code:
cd depends
make clean
make
cd ..
./autogen.sh
./configure --enable-glibc-back-compat --prefix=`pwd`/depends/x86_64-pc-linux-gnu LDFLAGS="-static-libstdc++"
make clean
make
make install

Спасибо за помощь английской ветке, без них я бы сам точно не допер как это сделать... Подробности тут https://bitcointalk.org/index.php?topic=1636271.msg16455631#msg16455631  :)

А можешь показать что выдает команда ldd ~/путь к файлу/bitcoind

 у меня выдает так
Quote
linux-gate.so.1 =>  (0xb775f000)
   libboost_system.so.1.54.0 => /usr/lib/i386-linux-gnu/libboost_system.so.1.54.0 (0xb713a000)
   libboost_filesystem.so.1.54.0 => /usr/lib/i386-linux-gnu/libboost_filesystem.so.1.54.0 (0xb7123000)
   libboost_program_options.so.1.54.0 => /usr/lib/i386-linux-gnu/libboost_program_options.so.1.54.0 (0xb70bb000)
   libboost_thread.so.1.54.0 => /usr/lib/i386-linux-gnu/libboost_thread.so.1.54.0 (0xb70a6000)
   libboost_chrono.so.1.54.0 => /usr/lib/i386-linux-gnu/libboost_chrono.so.1.54.0 (0xb709e000)
   libdb_cxx-4.8.so => /usr/lib/i386-linux-gnu/libdb_cxx-4.8.so (0xb6ef8000)
   libcrypto.so.1.0.0 => /lib/i386-linux-gnu/libcrypto.so.1.0.0 (0xb6d09000)
   libminiupnpc.so.8 => /usr/lib/libminiupnpc.so.8 (0xb6cfc000)
   libevent_pthreads-2.0.so.5 => /usr/lib/i386-linux-gnu/libevent_pthreads-2.0.so.5 (0xb6cf8000)
   libevent-2.0.so.5 => /usr/lib/i386-linux-gnu/libevent-2.0.so.5 (0xb6cb1000)
   libanl.so.1 => /lib/i386-linux-gnu/libanl.so.1 (0xb6cac000)
   libm.so.6 => /lib/i386-linux-gnu/libm.so.6 (0xb6c66000)
   libgcc_s.so.1 => /lib/i386-linux-gnu/libgcc_s.so.1 (0xb6c47000)
   libpthread.so.0 => /lib/i386-linux-gnu/libpthread.so.0 (0xb6c2b000)
   libc.so.6 => /lib/i386-linux-gnu/libc.so.6 (0xb6a7c000)
   /lib/ld-linux.so.2 (0xb7760000)
   libstdc++.so.6 => /usr/lib/i386-linux-gnu/libstdc++.so.6 (0xb6974000)
   librt.so.1 => /lib/i386-linux-gnu/librt.so.1 (0xb696b000)
   libdl.so.2 => /lib/i386-linux-gnu/libdl.so.2 (0xb6965000)
   libevent_core-2.0.so.5 => /usr/lib/i386-linux-gnu/libevent_core-2.0.so.5 (0xb693a000)

я вижу что используются динамические библиотеки libstdc++.so.6, без них демон работать не будет


Title: Re: Собрал 0.13.0 из исходников
Post by: kzv on October 08, 2016, 04:38:03 PM
kzv@ubuntu-512mb-sgp1-01:~/fork$ ldd ~/fork/bitcoind
        linux-vdso.so.1 =>  (0x00007ffc04979000)
        libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007f4dd8fd5000)
        libanl.so.1 => /lib/x86_64-linux-gnu/libanl.so.1 (0x00007f4dd8dd1000)
        librt.so.1 => /lib/x86_64-linux-gnu/librt.so.1 (0x00007f4dd8bc8000)
        libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007f4dd88bf000)
        libgcc_s.so.1 => /lib/x86_64-linux-gnu/libgcc_s.so.1 (0x00007f4dd86a9000)
        libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f4dd82df000)
        /lib64/ld-linux-x86-64.so.2 (0x0000559f3d304000)


Title: Re: Собрал 0.13.0 из исходников
Post by: 0x21 on October 21, 2016, 05:01:55 PM
Quote
VirtualBox
А почему не на голое железо?


Title: Re: Собрал 0.13.0 из исходников
Post by: kzv on October 21, 2016, 06:07:43 PM
на голое тоже можно.
просто не все линукс любят на десктопе лицезреть.
я вот кстати вторую неделю пытаю разрабов как собрать на убунте для мака, но что-то пока результат нулевой ((


Title: Re: Собрал 0.13.0 из исходников
Post by: amaclin on November 01, 2016, 06:23:45 AM
Для линукса смог собрать по инструкции
Для венды - никак не хочет собираться
на этапе make выдает, что какой-то там std::mutex не знает

Code:
mutex in namespace std does not name a type

Убил уже два раза по полдня на эту тряхомудию.  :'(



Title: Re: Собрал 0.13.0 из исходников
Post by: kzv on November 01, 2016, 08:34:57 AM
Для линукса смог собрать по инструкции
Для венды - никак не хочет собираться
на этапе make выдает, что какой-то там std::mutex не знает

Code:
mutex in namespace std does not name a type

Убил уже два раза по полдня на эту тряхомудию.  :'(



Покажи точно по шагам, что ты делаешь. По методу: сделал в терминале - скопипастил сюда.

ЗЫ перед тем как делать make не забывай делать make clean если до этого для линукса собирал

ЗЗЫ я уже раз десять собрал и в убунте и в дебиане. Все пучком. Только для мака не могу собрать пока.


Title: Re: Собрал 0.13.0 из исходников
Post by: amaclin on November 01, 2016, 09:10:29 AM
Покажи точно по шагам, что ты делаешь. По методу: сделал в терминале - скопипастил сюда.
ЗЫ перед тем как делать make не забывай делать make clean если до этого для линукса собирал
ЗЗЫ я уже раз десять собрал и в убунте и в дебиане. Все пучком. Только для мака не могу собрать пока.

ты именно экзешник для венды собирал, да?

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

итак. вчера я собрал для линукса.
отличия были

1) в том, что ты советуешь
Code:
wget https://github.com/bitcoin/bitcoin/archive/v0.13.0.tar.gz
я брал последнюю из мастера
https://github.com/bitcoin/bitcoin/archive/master.zip

2) У тебя опечатка: написано sudo apt-get updgrade - тут разумеется буква d лишняя

3) запуск ./configure c параметрами не получится - сначала надо ./autogen.sh сделать



Title: Re: Собрал 0.13.0 из исходников
Post by: amaclin on November 01, 2016, 09:34:27 AM
Начинаю заново.
И сразу сюда пишу что вижу

1) беру 0.13.1
Code:
wget https://github.com/bitcoin/bitcoin/archive/v0.13.1.tar.gz
качаем-качаем... трали-вали, короче скачалось
2016-11-01 12:13:29 (118 KB/s) - ‘v0.13.1.tar.gz’ saved [5952081/5952081]

2) распаковываем в bitcoin-0.13.1
ну, распаковал я не таром, а из гуёв правой клавишей мыши

3) а давай-ка опять проверим апгрейд системы сначала
Code:
sudo apt-get update
трали-вали Reading package lists... Done

Code:
sudo apt-get upgrade
трали-вали  0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.

Code:
sudo apt-get install build-essential libtool autotools-dev automake pkg-config libssl-dev libevent-dev bsdmainutils
трали-вали  0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.

Code:
sudo apt-get install libboost-system-dev libboost-filesystem-dev libboost-chrono-dev libboost-program-options-dev libboost-test-dev libboost-thread-dev
трали-вали  0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.

Code:
sudo add-apt-repository ppa:bitcoin/bitcoin
попросила нажать Enter, потом сказала что что-то импортировала

Code:
sudo apt-get update
трали-вали Reading package lists... Done  

Code:
sudo apt-get install libdb4.8-dev libdb4.8++-dev
говорит что и так последняя версия. я ж вчера ставил

Code:
sudo apt-get install libminiupnpc-dev
та же херня

Code:
sudo apt-get install libzmq3-dev
тоже уже сделано

Code:
sudo apt-get install libqt5gui5 libqt5core5a libqt5dbus5 qttools5-dev qttools5-dev-tools libprotobuf-dev protobuf-compiler
тоже говорит что все стоит

Code:
sudo apt-get install libqrencode-dev
тоже последняя

Code:
sudo apt-get install g++-mingw-w64-i686 mingw-w64-i686-dev g++-mingw-w64-x86-64 mingw-w64-x86-64-dev curl
всё стоит.

ок, поехали в сам биткойн

Code:
cd bitcoin-0.13.1
cd depends
make HOST=x86_64-w64-mingw32 -j4
долго что-то жуём-жуём, какие-то блядские протобуферы компилируются (как я их ненавижу!) какой-то буст 1.59 фетчится...
ладно, пока отправлю пост, потом допишу.

Продолжаем...
Собралось что-то. Последние строчки в консоли:
Code:
Staging miniupnpc...
Postprocessing miniupnpc...
Caching miniupnpc...
copying packages: native_ccache native_comparisontool native_protobuf boost openssl libevent qrencode protobuf qt bdb miniupnpc
to: /home/amaclin/bitcoin-0.13.1/depends/x86_64-w64-mingw32

4)
Code:
cd ..
./configure --prefix=`pwd`/depends/i686-w64-mingw32

отвечает:
Code:
bash: ./configure: No such file or directory

Ну нету тут configure! кто-то автоген должен запустить. только когда? сейчас или раньше надо было?

5) запускаем автоген. может ему тоже параметры надо задавать для виндовс?
Code:
./autogen.sh

Отработал. Последние строчки
Code:
src/Makefile.am: installing 'build-aux/depcomp'
src/Makefile.am:454: warning: user target '.mm.o' defined here ...
/usr/share/automake-1.15/am/depend2.am: ... overrides Automake target '.mm.o' defined here
parallel-tests: installing 'build-aux/test-driver'

6) Снова конфигуре
Code:
./configure --prefix=`pwd`/depends/i686-w64-mingw32
что-то прочекал, многобукф, последние строчки вывода:
Code:
configure: creating ./config.status
config.status: creating Makefile
config.status: creating libsecp256k1.pc
config.status: creating src/libsecp256k1-config.h
config.status: executing depfiles commands
config.status: executing libtool commands
Fixing libtool for -rpath problems.

7) Конец уже близко
Code:
make clean
Быстренько что-то сделал. Последние строчки
Code:
make[2]: Leaving directory '/home/amaclin/bitcoin-0.13.1/src'
make[1]: Leaving directory '/home/amaclin/bitcoin-0.13.1/src'
make[1]: Entering directory '/home/amaclin/bitcoin-0.13.1'
test -z "Bitcoin-Core.dmg bitcoin-0.13.1-win-setup" || rm -f Bitcoin-Core.dmg bitcoin-0.13.1-win-setup
rm -rf .libs _libs
rm -rf coverage_percent.txt test_bitcoin.coverage/ total.coverage/ qa/tmp/ cache/ Bitcoin-Qt.app
rm -rf qa/pull-tester/__pycache__
rm -f *.lo
make[1]: Leaving directory '/home/amaclin/bitcoin-0.13.1'

8 ) Ну и наконец
Code:
make
Жуёт пока... Отправляю пост, потом допишу

Продолжаем...
Неужели на этот раз получилось? Последние строки в консоли
Code:
make[2]: Leaving directory '/home/amaclin/bitcoin-0.13.1/src'
make[1]: Leaving directory '/home/amaclin/bitcoin-0.13.1/src'
make[1]: Entering directory '/home/amaclin/bitcoin-0.13.1'
make[1]: Nothing to be done for 'all-am'.
make[1]: Leaving directory '/home/amaclin/bitcoin-0.13.1'

9) И последний шажок
Code:
make install
Что-то выдало на экран, ничего такого крамольного. Последние строчки
Code:
make[2]: Nothing to be done for 'install-exec-am'.
 /bin/mkdir -p '/home/amaclin/bitcoin-0.13.1/depends/i686-w64-mingw32/lib/pkgconfig'
 /usr/bin/install -c -m 644 libbitcoinconsensus.pc '/home/amaclin/bitcoin-0.13.1/depends/i686-w64-mingw32/lib/pkgconfig'
make[2]: Leaving directory '/home/amaclin/bitcoin-0.13.1'
make[1]: Leaving directory '/home/amaclin/bitcoin-0.13.1'
Я уж собрался открывать шампусик по случаю победы разума над сарсапариллой...
Но...
Заглянул в каталог, куда должны свалиться экзешники... И что я вижу?

в каталоге ~/bitcoin-0.13.1/depends/x86_64-w64-mingw32/bin сиротливо лежит один файл event_rpcgen.py

в каталоге ~/bitcoin-0.13.1/depends/i686-w64-mingw32/bin - какие-то линуксовые сборки.
где, блеять мои экзешники?

https://i.imgur.com/H2q8CS4.png


Так, блядь, я понял где в этот раз налажал.
Инструкции для сборки w64 и w32 идут рядом
я случайно переключился на сборку i686
Начинаю заново. Я щас взвою.


1) Заново распаковал архив в свежую папку
2) cd bitcoin-0.13.1
3) ./autogen.sh
4) cd depends
5) make HOST=x86_64-w64-mingw32 -j4
Продолжение следует...
6) cd ..
7) ./configure --prefix=`pwd`/depends/x86_64-w64-mingw32
8 ) make clean
9) make
Продолжение следует...
10) make install

https://i.imgur.com/UsoH6Vt.png

Пойду напьюсь от радости.




Title: Re: Собрал 0.13.0 из исходников
Post by: kzv on November 01, 2016, 11:00:02 AM
автоген надо было сразу после шага 8 делать как у меня описано.
Но это не принципиально. Можно и после сделать, когда ругнется, что конфигуре нету.
Вроде все правильно делаешь, доллжно собраться.

ЗЫ может глючило потому что из мастера клонировал? Для себя лучше из релиза качать все таки.


Title: Re: Собрал 0.13.0 из исходников
Post by: kzv on November 01, 2016, 06:25:56 PM
Поздравляю с победой! )))
Кстати я понял, что нетбинс это говно по сравнению с qt-creator.
В последний исходники тоже легко импортируются, но он реально на порядок быстрее парсит код.


Title: Re: Собрал 0.13.0 из исходников
Post by: BtcVts on November 23, 2016, 10:04:12 AM

Собрать бинарики для винды можно так:

Для Win64
Code:
sudo apt-get install g++-mingw-w64-i686 mingw-w64-i686-dev g++-mingw-w64-x86-64 mingw-w64-x86-64-dev curl
cd depends
make HOST=x86_64-w64-mingw32 -j4

Quote
compiling .moc/release/moc_qabstractsocketengine_p.cpp
compiling .moc/release/moc_qhttpsocketengine_p.cpp
compiling .moc/release/moc_qsocks5socketengine_p.cpp
compiling .moc/release/moc_qtcpsocket.cpp
compiling .moc/release/moc_qudpsocket.cpp
compiling .moc/release/moc_qnativesocketengine_p.cpp
compiling .moc/release/moc_qsslsocket_openssl_p.cpp
compiling access/qftp.cpp
x86_64-w64-mingw32-ar -M < object_script.libQt5Network.Release
make[3]: выход из каталога «/home/user/bitcoin-0.13.1/depends/work/build/x86_64-w64-mingw32/qt/5.6.1-c2d426719c2/qtbase/src/network»
make[2]: выход из каталога «/home/user/bitcoin-0.13.1/depends/work/build/x86_64-w64-mingw32/qt/5.6.1-c2d426719c2/qtbase/src/network»
make[1]: выход из каталога «/home/user/bitcoin-0.13.1/depends/work/build/x86_64-w64-mingw32/qt/5.6.1-c2d426719c2/qtbase/src»
funcs.mk:242: ошибка выполнения рецепта для цели «/home/user/bitcoin-0.13.1/depends/work/build/x86_64-w64-mingw32/qt/5.6.1-c2d426719c2/qtbase/.stamp_built»
make: *** [/home/user/bitcoin-0.13.1/depends/work/build/x86_64-w64-mingw32/qt/5.6.1-c2d426719c2/qtbase/.stamp_built] Ошибка 2

не пошло блин
а параметр j помнится это кол-во потоков при компиляции?

.stamp_built - такого файла и нет в целевой папке:

Quote
~/bitcoin-0.13.1/depends/work/build/x86_64-w64-mingw32/qt/5.6.1-c2d426719c2/qtbase$ ls -la
итого 2928
drwxrwxr-x 16 user user    4096 ноя 23 02:10 .
drwxrwxr-x  6 user user    4096 ноя 23 01:55 ..
drwxrwxr-x  2 user user    4096 ноя 23 02:23 bin
-rwxrwxr-x  1 user user    1205 ноя 23 02:09 config.status
-rw-rw-r--  1 user user    4075 ноя 23 02:09 config.summary
drwxrwxr-x  9 user user    4096 ноя 23 01:55 config.tests
-rwxrwxr-x  1 user user  254234 ноя 23 01:55 configure
-rw-rw-r--  1 user user    3825 май 25 18:46 configure.bat
-rw-rw-r--  1 user user 2136576 июн  2 09:55 configure.exe
-rwxrwxr-x  1 user user  254235 май 25 18:46 configure.old
drwxrwxr-x  2 user user    4096 май 25 18:46 dist
drwxrwxr-x  4 user user    4096 май 25 18:46 doc
drwxrwxr-x 17 user user    4096 май 25 18:46 examples
-rw-rw-r--  1 user user    1958 май 25 18:46 header.BSD
-rw-rw-r--  1 user user     804 май 25 18:46 header.COMM
-rw-rw-r--  1 user user    1248 май 25 18:46 header.FDL
-rw-rw-r--  1 user user    1578 май 25 18:46 header.LGPL21
-rw-rw-r--  1 user user    1721 май 25 18:46 header.LGPL3
-rw-rw-r--  1 user user    1277 май 25 18:46 header.LGPL3-COMM
-rw-rw-r--  1 user user     936 май 25 18:46 header.LGPL-ONLY
drwxrwxr-x 18 user user    4096 июн  2 09:55 include
-rw-rw-r--  1 user user     521 май 25 18:46 INSTALL
-rw-rw-r--  1 user user    1196 май 25 18:46 LGPL_EXCEPTION.txt
drwxrwxr-x  5 user user    4096 ноя 23 13:18 lib
-rw-rw-r--  1 user user   22961 май 25 18:46 LICENSE.FDL
-rw-rw-r--  1 user user   35645 май 25 18:46 LICENSE.GPLv3
-rw-rw-r--  1 user user   26832 май 25 18:46 LICENSE.LGPLv21
-rw-rw-r--  1 user user    8178 май 25 18:46 LICENSE.LGPLv3
-rw-rw-r--  1 user user   32153 май 25 18:46 LICENSE.PREVIEW.COMMERCIAL
-rw-rw-r--  1 user user   72068 ноя 23 02:09 Makefile
drwxrwxr-x 96 user user    4096 ноя 23 02:09 mkspecs
drwxrwxr-x  7 user user    4096 ноя 23 02:10 plugins
drwxrwxr-x  5 user user    4096 ноя 23 02:08 qmake
-rw-rw-r--  1 user user       0 ноя 23 02:09 .qmake.cache
-rw-rw-r--  1 user user     128 май 25 18:46 .qmake.conf
-rw-rw-r--  1 user user    6460 май 25 18:46 qtbase.pro
-rw-rw-r--  1 user user      29 июн  2 09:55 .release-timestamp
drwxrwxr-x 22 user user    4096 ноя 23 02:09 src
-rw-rw-r--  1 user user       0 ноя 23 02:10 .stamp_configured
-rw-rw-r--  1 user user    3227 май 25 18:46 sync.profile
-rw-rw-r--  1 user user      41 май 25 18:46 .tag
drwxrwxr-x  8 user user    4096 май 25 18:46 tests
drwxrwxr-x  4 user user    4096 май 25 18:46 tools
drwxrwxr-x 13 user user    4096 май 25 18:46 util


Title: Re: Собрал 0.13.0 из исходников
Post by: kzv on November 23, 2016, 12:59:56 PM
А исходник их мастера слонировали?
Я рекомендую загружать исходники из ветки релизов.


Title: Re: Собрал 0.13.0 из исходников
Post by: BtcVts on November 24, 2016, 05:53:54 AM
А исходник их мастера слонировали?
Я рекомендую загружать исходники из ветки релизов.

да, с гитхаба
а какие еще варианты?

bitcoin-0.13.0 собрался, bitcoin-0.13.1 попробую еще раз, есть вариант подсунуть скомпилированные зависимости от 13.0, доложен тогда  собраться точно

а у вас размер файла bitcoin-qt.exe(0.13.0) какой получился? У меня на 43% больше от официального релиза - 43,887,920 байт

большая разница, видимо нехватает каких-то флагов оптимизации при сборке



Title: Re: Собрал 0.13.0 из исходников
Post by: kzv on November 24, 2016, 12:19:14 PM
А исходник их мастера слонировали?
Я рекомендую загружать исходники из ветки релизов.

да, с гитхаба
а какие еще варианты?

bitcoin-0.13.0 собрался, bitcoin-0.13.1 попробую еще раз, есть вариант подсунуть скомпилированные зависимости от 13.0, доложен тогда  собраться точно

а у вас размер файла bitcoin-qt.exe(0.13.0) какой получился? У меня на 43% больше от официального релиза - 43,887,920 байт

большая разница, видимо нехватает каких-то флагов оптимизации при сборке



С гитхаба можно качать по разному:
1. Склонировать мастер: git clone https://github.com/bitcoin/bitcoin.git
2. Скачать мастер: https://codeload.github.com/bitcoin/bitcoin/zip/master
3. Скачать релиз: https://github.com/bitcoin/bitcoin/archive/v0.13.1.zip (или любой другой https://github.com/bitcoin/bitcoin/releases)

Третий вариант самый предпочтительный.

В скомпилированном файле возможно зашиты дебаг пути всякие. Надо посмотреть, какие еще флаги есть у конфига.
Линуксовый bitcoind можно уменьшить командой "strip bitcoind" как тут написано: https://github.com/bitcoin/bitcoin/blob/master/doc/build-unix.md#notes


Title: Re: Собрал 0.13.0 из исходников
Post by: KU on December 26, 2016, 09:14:02 PM
Линуксовый наверное проще взять уже готовый бинарник. Там уже олл инклузив, только при запуске не забыть пути к конфигу указать. ;)

https://bitcoin.org/bin/bitcoin-core-0.13.1/bitcoin-0.13.1-x86_64-linux-gnu.tar.gz


Title: Re: Собрал 0.13.0 из исходников
Post by: SmallMminer on December 27, 2016, 02:32:46 PM
Интересно, спасибо. Еще хотелось бы знать какого уровня должен быть навык программирования чтобы не просто повторить, но и понять этапы.


Title: Re: Собрал 0.13.0 из исходников
Post by: kzv on December 29, 2016, 08:13:44 PM
Интересно, спасибо. Еще хотелось бы знать какого уровня должен быть навык программирования чтобы не просто повторить, но и понять этапы.

У меня опыт программирования на с++ 16 лет, а общий опыт больше 20 лет. Но я не понимаю все этапы ((


Title: Re: Собрал 0.13.0 из исходников
Post by: rolik2001 on February 23, 2017, 07:09:47 PM
Вообще никаких проблем! Даже не ожидал, что опенсорс может так легко собраться.
Делюсь опытом, вдруг кому пригодится. По шагам:

1. Установить Oracle VM VirtualBox - это бесплатная виртуальная машина.
2. Скачать последний дистрибутив убунту
3. Установить убунту на виртуальную машину (!версия убунту должна быть 14 или выше!)
4. Опционально: Установить дополнения в виртуальную машину (меню Устройства), чтобы можно было работать с буфером обмена
5. Зайти в консоль убунты: Alt+Ctrl+T
6. В консоли по очереди набирать (копипастить) следующие команды:

sudo apt-get update
sudo apt-get upgrade
sudo apt-get install build-essential libtool autotools-dev automake pkg-config libssl-dev libevent-dev bsdmainutils
sudo apt-get install libboost-system-dev libboost-filesystem-dev libboost-chrono-dev libboost-program-options-dev libboost-test-dev libboost-thread-dev
sudo add-apt-repository ppa:bitcoin/bitcoin
sudo apt-get update
sudo apt-get install libdb4.8-dev libdb4.8++-dev
sudo apt-get install libminiupnpc-dev
sudo apt-get install libzmq3-dev
sudo apt-get install libqt5gui5 libqt5core5a libqt5dbus5 qttools5-dev qttools5-dev-tools libprotobuf-dev protobuf-compiler
sudo apt-get install libqrencode-dev

Замечание: на другом компе у меня команда sudo add-apt-repository ppa:bitcoin/bitcoin
выдала ошибку. Без этой команды все остальное тоже фейлится. Вылечилось так:

sudo apt-get update
sudo add-apt-repository ppa:bitcoin/bitcoin
sudo apt-get update

Ну то есть перед этой командой сначала нужно проапдейтиться.

7. Теперь все готово для скачивания и компиляции битка. Я скачал из ветки релизов последнюю версию:
wget https://github.com/bitcoin/bitcoin/archive/v0.13.0.tar.gz

8. Распаковываем и переходим в папку исходников:
tar -xvzf v0.13.0.tar.gz
cd bitcoin-0.13.0

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


10. Все! Теперь бинарики для убунты лежат в папке /usr/local/bin

Теперь можно издеваться над исходниками в любимом редакторе, а когда надоест опять выполнить из папки исходников:
make
sudo make install

ВАЖНО: Если кто-то захочет делать форк, то учтите что в 13 версии коры из исходников выпилили возможность майнинга. Поэтому для форка нужно либо использовать версии 12 и ниже, либо придется делать еще и форк какого-нибудь майнера.
Мне потребовалась неделя, чтобы понять - почему моя сборка упорно не хочет майнить.  :(

ПО ПУНКТУ 9: Если нужно сделать бинарик, который будет работать не только в убунте, но и в других линуксах, то в пункте 9 нужно проделать такие шаги:

Для Linux 64 bit (собирается и работает только в 64 битном линуксе)
Code:
cd depends
make
cd ..
./autogen.sh
./configure --enable-glibc-back-compat --prefix=`pwd`/depends/x86_64-pc-linux-gnu LDFLAGS="-static-libstdc++"
make clean
make
make install
Бинарики будут лежать в папке depends/x86_64-pc-linux-gnu/bin

Для Linux 32 bit (собирается и работает только в 32 битном линуксе)
Code:
cd depends
make
cd ..
./autogen.sh
./configure --enable-glibc-back-compat --prefix=`pwd`/depends/i686-pc-linux-gnu LDFLAGS="-static-libstdc++"
make clean
make
make install
Бинарики будут лежать в папке depends/i686-pc-linux-gnu/bin

Такая компиляция прилинкует к бинарику все нужные библиотеки.

Собрать бинарики для винды можно так:

Для Win64
Code:
sudo apt-get install g++-mingw-w64-i686 mingw-w64-i686-dev g++-mingw-w64-x86-64 mingw-w64-x86-64-dev curl
cd depends
make HOST=x86_64-w64-mingw32 -j4
cd ..
./configure --prefix=`pwd`/depends/x86_64-w64-mingw32
make clean
make
make install
Бинарики будут лежать в папке depends/x86_64-w64-mingw32/bin

Для Win32
Code:
sudo apt-get install g++-mingw-w64-i686 mingw-w64-i686-dev g++-mingw-w64-x86-64 mingw-w64-x86-64-dev curl
cd depends
make HOST=i686-w64-mingw32 -j4
cd ..
./configure --prefix=`pwd`/depends/i686-w64-mingw32
make clean
make
make install
Бинарики будут лежать в папке depends/i686-w64-mingw32/bin


 Краткий мануал как скомпилировать в нормальной IDE  (http://'https://bitcointalk.org/index.php?topic=1624251.msg16455338#msg16455338')

это гайд как запустить свою монету ??? просто очень интересна это тема сам пишу на js,python но пытался и биток и лайт и даш и монеро форкнуть пока ничего ((


Title: Re: Собрал 0.13.0 из исходников
Post by: kzv on February 23, 2017, 07:12:59 PM
Нет, это гайд как собрать именно биткоин из исходников.
Чтобы запустить свою монету, в исходниках сначала надо поменять хотя бы генезис блок. А потом уже собрать свою монету точно так же как в этом гайде.


Title: Re: Собрал 0.13.0 из исходников
Post by: rolik2001 on February 23, 2017, 07:16:06 PM
Нет, это гайд как собрать именно биткоин из исходников.
Чтобы запустить свою монету, в исходниках сначала надо поменять хотя бы генезис блок. А потом уже собрать свою монету точно так же как в этом гайде.
а зачем тогда собирать биткоин ??


Title: Re: Собрал 0.13.0 из исходников
Post by: kzv on February 23, 2017, 07:52:50 PM
Нет, это гайд как собрать именно биткоин из исходников.
Чтобы запустить свою монету, в исходниках сначала надо поменять хотя бы генезис блок. А потом уже собрать свою монету точно так же как в этом гайде.
а зачем тогда собирать биткоин ??

Чтобы научиться это делать.
Когда научитесь собирать биткоин, можете начинать пробовать что-то делать с его исходниками и смотреть - что получилось.


Title: Re: Собрал 0.13.0 из исходников
Post by: rolik2001 on February 23, 2017, 08:08:28 PM
Нет, это гайд как собрать именно биткоин из исходников.
Чтобы запустить свою монету, в исходниках сначала надо поменять хотя бы генезис блок. А потом уже собрать свою монету точно так же как в этом гайде.
а зачем тогда собирать биткоин ??

Чтобы научиться это делать.
Когда научитесь собирать биткоин, можете начинать пробовать что-то делать с его исходниками и смотреть - что получилось.
спс вам +1 в карму =)


Title: Re: Собрал 0.13.0 из исходников
Post by: kcaterpillar on April 06, 2017, 01:03:40 AM
Вот интересно, они же (группа разработчиков) собирают готовый икзешник в релизах под винду, они его  же не таким способом собирают через прокладки виртуалбокс-линукс, т.е. кто-то владеет проектом для сборки, но всё покрыто мраком. При том декларируется, что весь код открытый, почему бы не выложить виндовский проект для сборки QT под виндовским компилятором? Интересно, кто из разработчиков автор и ответственный за сборку новых релизов под windows?


Title: Re: Собрал 0.13.0 из исходников
Post by: kzv on April 06, 2017, 06:43:55 AM
Самая первая из опубликованных версий биткоина https://github.com/bitcoin/bitcoin/tree/e071a3f6c06f41068ad17134189a4ac3073ef76b
Если почитать ридми то станет ясно, что
1. изначально клиент программировался не на QT а на wxWidgets
2. клиент для винды как и сейчас собирался с помощью MinGW, но мог запускаться и в Visual Studio

Потом новые разработчики отказались сначала от wxWidgets в пользу QT, потом отказались от поддержки Visual Studio тоже в пользу QT
Связано видимо было с желанием единообразия и с тем, что компиляторы у Visual Studio очень отстают по возможностям от gcc.

Потом (не знаю с какого релиза) кроме графического клиента появился демон bitcoind.
После этого, собирать исходники нужно было в два этапа: компилировать демона в консоли и компилировать графический клиент в QT. Это продолжалось довольно долго, последняя версия исходников, у которой проект QT лежит в релизе https://github.com/bitcoin/bitcoin/tree/ef14a26b12ad63cbe109e24043b0b1ce5c07447a
По идее графический клиент этой версии должен компилироваться в винде с помощью QT, если предварительно установить все зависимости как написано тут: https://github.com/bitcoin/bitcoin/blob/ef14a26b12ad63cbe109e24043b0b1ce5c07447a/doc/build-msw.md

В следующих релизах проект QT из исходников убрали по следующим мотивам: https://github.com/bitcoin/bitcoin/blob/92d25e4eebbc20c4b056faeab688b2cef5790bac/doc/release-notes.md

Quote
For 0.9.0 we switched to an autotools-based build system instead of individual (q)makefiles.

Using the standard "./autogen.sh; ./configure; make" to build Bitcoin-Qt and bitcoind makes it easier for experienced open source developers to contribute to the project.

В переводе означает, что новый вариант компиляции, когда все в одной куче и в консоли, разработчикам показался более стандартным и понятным.


Title: Re: Собрал 0.13.0 из исходников
Post by: kcaterpillar on April 06, 2017, 08:46:55 AM
Самая первая из опубликованных версий биткоина https://github.com/bitcoin/bitcoin/tree/e071a3f6c06f41068ad17134189a4ac3073ef76b
Если почитать ридми то станет ясно, что
1. изначально клиент программировался не на QT а на wxWidgets
2. клиент для винды как и сейчас собирался с помощью MinGW, но мог запускаться и в Visual Studio

Потом новые разработчики отказались сначала от wxWidgets в пользу QT, потом отказались от поддержки Visual Studio тоже в пользу QT
Связано видимо было с желанием единообразия и с тем, что компиляторы у Visual Studio очень отстают по возможностям от gcc.

Потом (не знаю с какого релиза) кроме графического клиента появился демон bitcoind.
После этого, собирать исходники нужно было в два этапа: компилировать демона в консоли и компилировать графический клиент в QT. Это продолжалось довольно долго, последняя версия исходников, у которой проект QT лежит в релизе https://github.com/bitcoin/bitcoin/tree/ef14a26b12ad63cbe109e24043b0b1ce5c07447a
По идее графический клиент этой версии должен компилироваться в винде с помощью QT, если предварительно установить все зависимости как написано тут: https://github.com/bitcoin/bitcoin/blob/ef14a26b12ad63cbe109e24043b0b1ce5c07447a/doc/build-msw.md

В следующих релизах проект QT из исходников убрали по следующим мотивам: https://github.com/bitcoin/bitcoin/blob/92d25e4eebbc20c4b056faeab688b2cef5790bac/doc/release-notes.md

Quote
For 0.9.0 we switched to an autotools-based build system instead of individual (q)makefiles.

Using the standard "./autogen.sh; ./configure; make" to build Bitcoin-Qt and bitcoind makes it easier for experienced open source developers to contribute to the project.

В переводе означает, что новый вариант компиляции, когда все в одной куче и в консоли, разработчикам показался более стандартным и понятным.

Спасибо, понятнее теперь. Т.е. проект сборки и QT и bitcoind под винду у них есть и сейчас, но они не считают важным его публиковать, учитывая сложность сборки и необходимость контроля версий в общем проекте. В принципе такая политика партии понятная и разумная, хотя кому-то может и хотелось бы собрать самому последний свежий релиз под виндой.


Title: Re: Собрал 0.13.0 из исходников
Post by: amaclin on April 06, 2017, 09:00:46 AM
Спасибо, понятнее теперь. Т.е. проект сборки и QT и bitcoind под винду у них есть и сейчас
Откуда такой вывод? Сидят себе под линухом и компиляют бинарники под винду.
Зачем поддерживать сборку сборку из двух разных систем, если достаточно одной?


Title: Re: Собрал 0.13.0 из исходников
Post by: kcaterpillar on April 06, 2017, 09:13:25 AM
Спасибо, понятнее теперь. Т.е. проект сборки и QT и bitcoind под винду у них есть и сейчас
Откуда такой вывод? Сидят себе под линухом и компиляют бинарники под винду.
Зачем поддерживать сборку сборку из двух разных систем, если достаточно одной?

Возможно, но я сомневаюсь. Думаю, что под винду они компилят в отдельном проекте MinGW, по крайней мере Qt-клиент. Там же у них отдельно версии и 32 разряда, и 64, и GUI - всё это в бинарниках под линухом может быть проблематично менять.


Title: Re: Собрал 0.13.0 из исходников
Post by: amaclin on April 06, 2017, 09:27:06 AM
Возможно, но я сомневаюсь. Думаю, что под винду они компилят в отдельном проекте MinGW, по крайней мере Qt-клиент.
Там же у них отдельно версии и 32 разряда, и 64, и GUI - всё это в бинарниках под линухом может быть проблематично менять.
Зачем? Запустил под тем же линухом скрипт - и получаешь экзешники аккуратно положенные
в отдельную папочку. Для разработки я тоже люблю пользоваться Qt-криэйтером, но когда
дело касается выпуска релизных версий - на кой фиг переключаться в другую операционку
и запускать какие-то визуальные средства, если достаточно это просто запустить скриптом?

Тем более, что зачастую современные средства сборок вообще предполагают автоматическую
сборку и проверку тестов на выделенном для этого сервере при коммите/мёрдже!


Title: Re: Собрал 0.13.0 из исходников
Post by: kzv on April 21, 2017, 12:17:07 PM
По просьбе одного из форумчан, еще немного покопался в истории.
Как возникло ограничение 1000000 байт на размер блока.

30 Aug 2009
на гитхабе опубликована первая версия биткоина. Интересно, что опубликовал ее не Накомото, а вот этот чувак: https://github.com/saracen
Не знаю кто это, но это точно живой человек и сильный программист. Последний его коммит на гитхабе был 16 апреля 2017 года (5 дней назад)

В первой версии клиента константа MAX_SIZE ограничивала размер блока 32 мегабайтами.
https://github.com/bitcoin/bitcoin/blob/e071a3f6c06f41068ad17134189a4ac3073ef76b/main.h#L17

19 Jul 2010
Впервые константа MAX_BLOCK_SIZE = 1000000 появилась в коммите от 19 Июля 2010 года. Запилил ее туда вот этот чел https://github.com/gavinandresen

Однако эта константа фигурировала только внутри кода майнера, таким образом новые версии клиента уже не майнили блоки с большей длинной
https://github.com/bitcoin/bitcoin/blob/9d2174b6f5f3fac2463c7ebc2dbb9004b3740d23/main.cpp#L2614

Функця CheckBlock() в этом коммите еще не поменялась
https://github.com/bitcoin/bitcoin/blob/9d2174b6f5f3fac2463c7ebc2dbb9004b3740d23/main.cpp#L1286
Поэтому старые майнеры могли продолжать майнить 32 М блоки и они всеми клиентами принимались как валидные.

20 Sep 2010
Наконец 20 сентября 2010 года чувак с ником  invalid-email-address (скорее всего опять Андерсен) поменял функцию CheckBlock()
https://github.com/bitcoin/bitcoin/commit/172f006020965ae8763a0610845c051ed1e3b522#diff-118fcbaaba162ba17933c7893247df3a
С этого момента все новые клиенты перестали принимать блоки размером больше 1000000 байт.


Title: Re: Собрал 0.13.0 из исходников
Post by: negeroy on April 22, 2017, 12:16:35 AM
По просьбе одного из форумчан, еще немного покопался в истории.
Как возникло ограничение 1000000 байт на размер блока.

30 Aug 2009
на гитхабе опубликована первая версия биткоина. Интересно, что опубликовал ее не Накомото, а вот этот чувак: https://github.com/saracen
Не знаю кто это, но это точно живой человек и сильный программист. Последний его коммит на гитхабе был 16 апреля 2017 года (5 дней назад)

Недавно кстати ставил альфа версию на xp

С этого момента все новые клиенты перестали принимать блоки размером больше 1000000 байт.

Накомото изначально публиковал на sourceforge https://sourceforge.net/p/bitcoin/code/HEAD/tree/, а saracen сделал коммиты оттуда на гитхаб,  "офицально" на гитхаб "переехал" gavin andresen в 2011


Недавно кстати, интереса ради, ставил версию  0.1.1 на xp

https://s7.postimg.org/oxtyvifor/image.png


Title: Re: Собрал 0.13.0 из исходников
Post by: kzv on April 22, 2017, 02:39:51 PM
На sourceforge код появился тоже 30 августа 2009
https://sourceforge.net/p/bitcoin/code/1/tree/trunk/
и залил его туда тоже не Накомото, а чувак с ником  sirius-m https://sourceforge.net/u/sirius-m/profile/

Накомото сделал первый коммит через два месяца https://sourceforge.net/p/bitcoin/code/15/tree/


Title: Re: Собрал 0.13.0 из исходников
Post by: negeroy on April 22, 2017, 02:55:28 PM
На sourceforge код появился тоже 30 августа 2009
https://sourceforge.net/p/bitcoin/code/1/tree/trunk/
и залил его туда тоже не Накомото, а чувак с ником  sirius-m https://sourceforge.net/u/sirius-m/profile/

Накомото сделал первый коммит через два месяца https://sourceforge.net/p/bitcoin/code/15/tree/


C sourceforge профиль Накомото, был удалён в 2014 году, после якобы взлома его акка, а акктивность его можно проследить по Mailing Lists начиная с декабря 2008 https://sourceforge.net/p/bitcoin/mailman/bitcoin-list/?viewmonth=200812
а чувак sirius-m это Martti Malmi который один из первых присоединился к биткоин разработке где-то в середине 2009


Title: Re: Собрал 0.13.0 из исходников
Post by: kzv on April 22, 2017, 03:05:15 PM
Интересно.
В письмах пишут, что первый релиз был как минимум раньше чем 11 января 2009
https://sourceforge.net/p/bitcoin/mailman/message/21312757/
Однако исходники на sourceforge.net появились только в августе.
Значит анонс биткоина был раньше 2009 года и первые исходники нигде не публиковались?

UPDT
Недолгое гугление показало, где и когда был анонс самой первой версии биткоина: 8 января 2009 года
http://www.metzdowd.com/pipermail/cryptography/2009-January/014994.html

Интересно, что предыдущим сообщением было приглашение на конференцию по финансовой криптографии от International Financial Cryptography Association.


Title: Re: Собрал 0.13.0 из исходников
Post by: neiros on May 01, 2017, 07:46:58 AM
...
3. Установить убунту на виртуальную машину (!версия убунту должна быть 14 или выше!)
...

Почему должна быть 14 и выше?


...
 Краткий мануал как скомпилировать в нормальной IDE  (http://'https://bitcointalk.org/index.php?topic=1624251.msg16455338#msg16455338')
ссылка кривая ::) http://'https://bitcointalk.org/index.php?topic=1624251.msg16455338#msg16455338'
так правильно https://bitcointalk.org/index.php?topic=1624251.msg16455338#msg16455338


Title: Re: Собрал 0.13.0 из исходников
Post by: kzv on May 02, 2017, 06:09:03 AM
...
3. Установить убунту на виртуальную машину (!версия убунту должна быть 14 или выше!)
...

Почему должна быть 14 и выше?


...
 Краткий мануал как скомпилировать в нормальной IDE  (http://'https://bitcointalk.org/index.php?topic=1624251.msg16455338#msg16455338')
ссылка кривая ::) http://'https://bitcointalk.org/index.php?topic=1624251.msg16455338#msg16455338'
так правильно https://bitcointalk.org/index.php?topic=1624251.msg16455338#msg16455338

Ну я пробовал в 12 убунте собирать - не получалось какие-то библиотеки установить. Сейчас уже не помню какие.
Ссылку поправил.


Title: Re: Собрал 0.13.0 из исходников
Post by: neiros on May 02, 2017, 07:56:29 AM
Ну я пробовал в 12 убунте собирать - не получалось какие-то библиотеки установить.

Откопал я у себя виртуалку 2013 года, с 12 убунтой, с Qt, с биткоином 0.8.2 версии. Были же времена - нажал на кнопку - всё запустилось и заработало. А сейчас жесть какая то - https://github.com/bitcoin/bitcoin/


Собрал 0.13.0 в 16 убунте на VirtualBox Версии 5.1.22 r115126  (в VB 4.3.6-91406, что у меня стоял раньше, с установкой разрешения экрана убунты, и 14 и 16, какой то гемор вылез)

bench_bitcoin
bitcoind
bitcoin-tx
test_bitcoin-qt
bitcoin-cli
bitcoin-qt
test_bitcoin

 ::) много файлов собралось. (Для файлов типа «разделяемая библиотека» не установлено каких-либо приложений.)
С непривычки не сразу сообразил как они запускаются - https://www.google.ru/search?q=запустить+бинарный+файл+ubuntu

Установил Qt Creator и добавил qt4-make

В папке bitcoin-0.13.0 выполнил команду:
qmake -project

После чего в папке bitcoin-0.13.0 появился bitcoin-0.13.0.pro файл.
В Qt сейчас очень удобно лазить по всем исходникам этой папки.


Title: Re: Собрал 0.13.0 из исходников
Post by: kzv on May 02, 2017, 08:01:01 AM
Я тоже поначалу нетбинсом пробовал, но в итоге сейчас QT по исходникам шарюсь. Менее тормознуто получается.


Title: Re: Собрал 0.13.0 из исходников
Post by: longpro098 on May 25, 2017, 03:28:53 AM
Интересно, спасибо. Еще хотелось бы знать какого уровня должен быть навык программирования чтобы не просто повторить, но и понять этапы.


Title: Re: Собрал 0.13.0 из исходников
Post by: kzv on May 25, 2017, 06:52:11 AM
Интересно, спасибо. Еще хотелось бы знать какого уровня должен быть навык программирования чтобы не просто повторить, но и понять этапы.

Этапы простые: устанавливаем библиотеки потом компилируем. Что тут понимать?
Или хотите узнать, сколько нужно учиться, чтобы знать и уметь пользоваться каждой их подключаемых библиотек? Тогда я думаю жизни не хватит  :)


Title: Re: Собрал 0.13.0 из исходников
Post by: atamat on August 15, 2017, 07:51:56 AM
интересно


Title: Re: Собрал 0.13.0 из исходников
Post by: Jeddy445 on August 29, 2017, 09:24:23 PM
братцы ) я наверное совсем не в тему тут со своим насущным... не гнобите сильно ))
но не могли ли бы вы так же подробненько выложить инструшку, как cpu-майнер под монеро собрать? )) ооооочень надо.


Title: Re: Собрал 0.13.0 из исходников
Post by: professor9 on September 02, 2017, 04:19:28 PM
кто нибудь может помочь?
на ubuntu 14.04 запускается даемон и вроде всё отлично, может можно даже исходник скомпилить
на ubuntu 16 не запускается даемон там проблема с libbost, miniupnp итп. собрать из исходников тоже не получается.
нужен бы блок эксплорер, запускал iquidus на 16, вроде запустился, на 14 - нет.
как быть одно к другому не подходит.....


Title: Re: Собрал 0.13.0 из исходников
Post by: kzv on September 02, 2017, 07:06:55 PM
кто нибудь может помочь?
на ubuntu 14.04 запускается даемон и вроде всё отлично, может можно даже исходник скомпилить
на ubuntu 16 не запускается даемон там проблема с libbost, miniupnp итп. собрать из исходников тоже не получается.
нужен бы блок эксплорер, запускал iquidus на 16, вроде запустился, на 14 - нет.
как быть одно к другому не подходит.....


Демон значик криво скомпилен. Надо компилить так, чтобы все либы статически были прилинкованы. Почему из исходников не собирается? Какую версию вообще мучаете?


Title: Re: Собрал 0.13.0 из исходников
Post by: professor9 on September 02, 2017, 09:41:14 PM
ой я видимо как-то не уточнил это альткоин у меня.
нашёл пока abe эксплорер, буду пробовать запустить его на 14 ubuntu .


Title: Re: Собрал 0.13.0 из исходников
Post by: Kane13 on October 04, 2017, 09:02:09 AM
спасибо помог


Title: Re: Собрал 0.13.0 из исходников
Post by: kzv on October 19, 2017, 10:51:22 AM
Привет, не подскажите по поводу выполнения make HOST=x86_64-w64-mingw32 -j4.
Сначала всё ок, потом ругается, что при фетче qt происходит ошибка 404. Хотя при открытии ссылки вручную всё ок.
Попробовал отдельно скачать и установить qt по инструкции с сайта, всё равно падает. Ну а дальше так же не срабатывает конфигурация


Я сейчас когда с нуля, то сначала захожу в depends
А там делаю
make download

Оно тогда скачивает все зависимости для винды и линукса.
И еще, для винды какие-то траблы со сборкой на 16 убунте. Разрабы пишут, что они в домике - это косяк mingw и убунты. Пробуйте на убунте 14 собирать.


Title: Re: Собрал 0.13.0 из исходников
Post by: ilya_a on October 31, 2017, 05:49:11 PM

Замечание: на другом компе у меня команда sudo add-apt-repository ppa:bitcoin/bitcoin
выдала ошибку. Без этой команды все остальное тоже фейлится. Вылечилось так:

sudo apt-get update
sudo add-apt-repository ppa:bitcoin/bitcoin
sudo apt-get update

Ну то есть перед этой командой сначала нужно проапдейтиться.

Ошибка у этой команды чаще всего из-за того, что она не установлена. Должен быть установлен пакет software-properties-common:

sudo apt-get update
sudo apt-get install software-properties-common


Title: Re: Собрал 0.13.0 из исходников
Post by: delta7xray on November 23, 2017, 06:37:55 PM
Годно


Title: Re: Собрал 0.13.0 из исходников
Post by: nzlx on November 30, 2017, 01:04:33 PM
А зачем вообще компилировать? Чтобы майнить?


Title: Re: Собрал 0.13.0 из исходников
Post by: Joefamwork on December 07, 2017, 06:46:49 AM
0.13.0 это х13? или что? Я тут DASH скомпиллить хочу и поменять алгоритм. Как менять его - не разобрался ещё. Пока в поисках на форуме, но если кто подскажет чего - буду признателен)


Title: Re: Собрал 0.13.0 из исходников
Post by: kzv on December 07, 2017, 06:58:31 AM
0.13.0 это х13? или что? Я тут DASH скомпиллить хочу и поменять алгоритм. Как менять его - не разобрался ещё. Пока в поисках на форуме, но если кто подскажет чего - буду признателен)

0.13.0 это версия биткоина на гитхабе которая была самой новой на момент написания первого поста. Сейчас самая свежая 0.15.1 но в компиляции ничего особо не поменялось.

По поводу даши - не знаю, она вроде от версии 0.8 отпочковалась? В тех версиях все для домохозяек: запустил QT-creator, открыл файл проекта, нажал "Скопмилировать"?
Почти все новые форки от версии 0.8 потому что на биржах админят школьники которые не умеют компилировать все, что старше 0.8.


Title: Re: Собрал 0.13.0 из исходников
Post by: Joefamwork on December 07, 2017, 10:35:11 AM
0.13.0 это х13? или что? Я тут DASH скомпиллить хочу и поменять алгоритм. Как менять его - не разобрался ещё. Пока в поисках на форуме, но если кто подскажет чего - буду признателен)

0.13.0 это версия биткоина на гитхабе которая была самой новой на момент написания первого поста. Сейчас самая свежая 0.15.1 но в компиляции ничего особо не поменялось.

По поводу даши - не знаю, она вроде от версии 0.8 отпочковалась? В тех версиях все для домохозяек: запустил QT-creator, открыл файл проекта, нажал "Скопмилировать"?
Почти все новые форки от версии 0.8 потому что на биржах админят школьники которые не умеют компилировать все, что старше 0.8.
А, понял про версию Битка) Ну я не школьник, просто опыта нет. А вот с бубном потанцевать я готов, не проблема) А инфы про смену алгоритма нет?)


Title: Re: Собрал 0.13.0 из исходников
Post by: kzv on December 07, 2017, 10:43:09 AM
0.13.0 это х13? или что? Я тут DASH скомпиллить хочу и поменять алгоритм. Как менять его - не разобрался ещё. Пока в поисках на форуме, но если кто подскажет чего - буду признателен)

0.13.0 это версия биткоина на гитхабе которая была самой новой на момент написания первого поста. Сейчас самая свежая 0.15.1 но в компиляции ничего особо не поменялось.

По поводу даши - не знаю, она вроде от версии 0.8 отпочковалась? В тех версиях все для домохозяек: запустил QT-creator, открыл файл проекта, нажал "Скопмилировать"?
Почти все новые форки от версии 0.8 потому что на биржах админят школьники которые не умеют компилировать все, что старше 0.8.
А, понял про версию Битка) Ну я не школьник, просто опыта нет. А вот с бубном потанцевать я готов, не проблема) А инфы про смену алгоритма нет?)

У битка два краеугольных алгоритма, с которыми танцуют все форки:
1. Алгоритм майнинга
2. Алгоритм расчета сложности.

В основном все над первым убиваются, но и про второй забывать не нужно как показывает практика.

Посмотрите для начала чем биток от лайта отличается - когда разберетесь сможете свой велосипед делать.


Title: Re: Собрал 0.13.0 из исходников
Post by: Joefamwork on December 07, 2017, 11:20:17 AM
0.13.0 это х13? или что? Я тут DASH скомпиллить хочу и поменять алгоритм. Как менять его - не разобрался ещё. Пока в поисках на форуме, но если кто подскажет чего - буду признателен)

0.13.0 это версия биткоина на гитхабе которая была самой новой на момент написания первого поста. Сейчас самая свежая 0.15.1 но в компиляции ничего особо не поменялось.

По поводу даши - не знаю, она вроде от версии 0.8 отпочковалась? В тех версиях все для домохозяек: запустил QT-creator, открыл файл проекта, нажал "Скопмилировать"?
Почти все новые форки от версии 0.8 потому что на биржах админят школьники которые не умеют компилировать все, что старше 0.8.
А, понял про версию Битка) Ну я не школьник, просто опыта нет. А вот с бубном потанцевать я готов, не проблема) А инфы про смену алгоритма нет?)

У битка два краеугольных алгоритма, с которыми танцуют все форки:
1. Алгоритм майнинга
2. Алгоритм расчета сложности.

В основном все над первым убиваются, но и про второй забывать не нужно как показывает практика.

Посмотрите для начала чем биток от лайта отличается - когда разберетесь сможете свой велосипед делать.
Окей, спасибо за направление для изучения)) Буду ковырять алгоритмы


Title: Re: Собрал 0.13.0 из исходников
Post by: progof on December 15, 2017, 04:56:06 PM
Всем привет, начал собирать монету по инструкции, сделал все как в замечание автора этой темы. Но мне выдает такую ошибку sudo: add-apt-repository: command not found , после команды sudo add-apt-repository ppa:bitcoin/bitcoin


Title: Re: Собрал 0.13.0 из исходников
Post by: kzv on December 15, 2017, 05:00:40 PM
Всем привет, начал собирать монету по инструкции, сделал все как в замечание автора этой темы. Но мне выдает такую ошибку sudo: add-apt-repository: command not found , после команды sudo add-apt-repository ppa:bitcoin/bitcoin


а вы пробовали сделать то, что жирным шрифтом написано чуть дальше?


Title: Re: Собрал 0.13.0 из исходников
Post by: progof on December 15, 2017, 05:05:49 PM
Всем привет, начал собирать монету по инструкции, сделал все как в замечание автора этой темы. Но мне выдает такую ошибку sudo: add-apt-repository: command not found , после команды sudo add-apt-repository ppa:bitcoin/bitcoin


а вы пробовали сделать то, что жирным шрифтом написано чуть дальше?

Уже сделал) пока все работает


Title: Re: Собрал 0.13.0 из исходников
Post by: progof on December 16, 2017, 06:54:55 PM
После этих команд:

cd bitcoin-0.13.1
cd depends
make HOST=x86_64-w64-mingw32 -j4

В терминале мне выдает ошибку:

make[1]: Leaving directory `/root/bitcoin-0.12.0/depends/work/build/x86_64-w64-mingw32/native_protobuf/2.6.1-1566d0b3a34/src'
make: *** [/root/bitcoin-0.12.0/depends/work/build/x86_64-w64-mingw32/native_protobuf/2.6.1-1566d0b3a34/./.stamp_built] Error 2
root@progof:~/bitcoin-0.12.0/depends#

Как это можно исправить? Или это не влияет на дальнейший процесс сборки монеты?


Title: Re: Собрал 0.13.0 из исходников
Post by: kzv on December 16, 2017, 07:11:43 PM
После этих команд:

cd bitcoin-0.13.1
cd depends
make HOST=x86_64-w64-mingw32 -j4

В терминале мне выдает ошибку:

make[1]: Leaving directory `/root/bitcoin-0.12.0/depends/work/build/x86_64-w64-mingw32/native_protobuf/2.6.1-1566d0b3a34/src'
make: *** [/root/bitcoin-0.12.0/depends/work/build/x86_64-w64-mingw32/native_protobuf/2.6.1-1566d0b3a34/./.stamp_built] Error 2
root@progof:~/bitcoin-0.12.0/depends#

Как это можно исправить? Или это не влияет на дальнейший процесс сборки монеты?

Влияет. Ошибок быть не должно.
Вот это не забыли?
sudo apt-get install g++-mingw-w64-i686 mingw-w64-i686-dev g++-mingw-w64-x86-64 mingw-w64-x86-64-dev curl


Title: Re: Собрал 0.13.0 из исходников
Post by: progof on December 16, 2017, 07:18:11 PM
После этих команд:

cd bitcoin-0.13.1
cd depends
make HOST=x86_64-w64-mingw32 -j4

В терминале мне выдает ошибку:

make[1]: Leaving directory `/root/bitcoin-0.12.0/depends/work/build/x86_64-w64-mingw32/native_protobuf/2.6.1-1566d0b3a34/src'
make: *** [/root/bitcoin-0.12.0/depends/work/build/x86_64-w64-mingw32/native_protobuf/2.6.1-1566d0b3a34/./.stamp_built] Error 2
root@progof:~/bitcoin-0.12.0/depends#

Как это можно исправить? Или это не влияет на дальнейший процесс сборки монеты?

Влияет. Ошибок быть не должно.
Вот это не забыли?
sudo apt-get install g++-mingw-w64-i686 mingw-w64-i686-dev g++-mingw-w64-x86-64 mingw-w64-x86-64-dev curl


Нет, но я еще раз ввел команду:

sudo apt-get install g++-mingw-w64-i686 mingw-w64-i686-dev g++-mingw-w64-x86-64 mingw-w64-x86-64-dev curl

потом еще раз:

make HOST=x86_64-w64-mingw32 -j4

И в результате получил:

g++: internal compiler error: Killed (program cc1plus)
Please submit a full bug report,
with preprocessed source if appropriate.
See <file:///usr/share/doc/gcc-4.8/README.Bugs> for instructions.
make[1]: *** [google/protobuf/descriptor.lo] Error 1
make[1]: *** Waiting for unfinished jobs....
make[1]: Leaving directory `/root/bitcoin-0.12.0/depends/work/build/x86_64-w64-mingw32/native_protobuf/2.6.1-1566d0b3a34/src'
make: *** [/root/bitcoin-0.12.0/depends/work/build/x86_64-w64-mingw32/native_protobuf/2.6.1-1566d0b3a34/./.stamp_built] Error 2
root@progof:~/bitcoin-0.12.0/depends#


Title: Re: Собрал 0.13.0 из исходников
Post by: kzv on December 16, 2017, 07:29:00 PM
Это значит памяти не хватило.
Либо добавьте памяти, либо свап подключите.

sudo fallocate -l 4G /swapfile
sudo chmod 600 /swapfile
sudo mkswap /swapfile
sudo swapon /swapfile

Проверить подключение командой
sudo swapon -s

Должно выдать

Filename                Type        Size    Used    Priority
/swapfile               file        4194300 0       -1


Title: Re: Собрал 0.13.0 из исходников
Post by: progof on December 16, 2017, 07:34:55 PM
Это значит памяти не хватило.
Либо добавьте памяти, либо свап подключите.

sudo fallocate -l 4G /swapfile
sudo chmod 600 /swapfile
sudo mkswap /swapfile
sudo swapon /swapfile

Проверить подключение командой
sudo swapon -s

Должно выдать

Filename                Type        Size    Used    Priority
/swapfile               file        4194300 0       -1

Мне выдало результат

Filename            Type      Size   Used   Priority
/swapfile                               file      4194300   0   -1

Это означает что нужно увеличить оперативную память на сервере?


Title: Re: Собрал 0.13.0 из исходников
Post by: kzv on December 16, 2017, 07:36:38 PM
Это значит памяти не хватило.
Либо добавьте памяти, либо свап подключите.

sudo fallocate -l 4G /swapfile
sudo chmod 600 /swapfile
sudo mkswap /swapfile
sudo swapon /swapfile

Проверить подключение командой
sudo swapon -s

Должно выдать

Filename                Type        Size    Used    Priority
/swapfile               file        4194300 0       -1

Мне выдало результат

Filename            Type      Size   Used   Priority
/swapfile                               file      4194300   0   -1

Это означает что нужно увеличить оперативную память на сервере?

Это значит, что свап подключился.
Пробуйте опять компилировать


Title: Re: Собрал 0.13.0 из исходников
Post by: progof on December 16, 2017, 07:57:18 PM
Это значит памяти не хватило.
Либо добавьте памяти, либо свап подключите.

sudo fallocate -l 4G /swapfile
sudo chmod 600 /swapfile
sudo mkswap /swapfile
sudo swapon /swapfile

Проверить подключение командой
sudo swapon -s

Должно выдать

Filename                Type        Size    Used    Priority
/swapfile               file        4194300 0       -1

Мне выдало результат

Filename            Type      Size   Used   Priority
/swapfile                               file      4194300   0   -1

Это означает что нужно увеличить оперативную память на сервере?

Это значит, что свап подключился.
Пробуйте опять компилировать

Скомпилировал и снова ошибка, но другая)

make[1]: warning: jobserver unavailable: using -j1.  Add `+' to parent make rule.
 /bin/mkdir -p '/root/bitcoin-0.12.0/depends/work/staging/x86_64-w64-mingw32/protobuf/2.6.1-22bc4c6446d/root/bitcoin-0.12.0/depends/x86_64-w64-mingw32/lib/pkgconfig'
 /usr/bin/install -c -m 644 protobuf.pc protobuf-lite.pc '/root/bitcoin-0.12.0/depends/work/staging/x86_64-w64-mingw32/protobuf/2.6.1-22bc4c6446d/root/bitcoin-0.12.0/depends/x86_64-w64-mingw32/lib/pkgconfig'
make[1]: Leaving directory `/root/bitcoin-0.12.0/depends/work/build/x86_64-w64-mingw32/protobuf/2.6.1-22bc4c6446d'
Postprocessing protobuf...
Caching protobuf...
Fetching qt...
http://download.qt.io/official_releases/qt/5.5/5.5.0/submodules/qtbase-opensource-src-5.5.0.tar.gz:
2017-12-16 20:54:24 ERROR 404: Not Found.
https://bitcoincore.org/depends-sources/qtbase-opensource-src-5.5.0.tar.gz:
2017-12-16 20:54:25 ERROR 404: Not Found.
make: *** [/root/bitcoin-0.12.0/depends/sources/download-stamps/.stamp_fetched-qt-qtbase-opensource-src-5.5.0.tar.gz.hash] Error 8
root@progof:~/bitcoin-0.12.0/depends#


Title: Re: Собрал 0.13.0 из исходников
Post by: kzv on December 16, 2017, 08:01:12 PM
Сделайте в папке depends
make download
Потом еще раз попробуйте скомпилить ))


Title: Re: Собрал 0.13.0 из исходников
Post by: progof on December 16, 2017, 08:05:20 PM
Сделайте в папке depends
make download
Потом еще раз попробуйте скомпилить ))

В папке depends сделал make download и получил

root@progof:~/bitcoin-0.12.0/depends# make download
/bin/sh: 1: test: qtbase-opensource-src-5.5.0.tar.gz: unexpected operator
/bin/sh: 1: test: ee31ae567931c426136c94aad457c7b51d844beb.tar.gz: unexpected operator
Checksum missing or mismatched for native_protobuf source. Forcing re-download.
Fetching zeromq...
2017-12-16 21:02:03 URL:https://ia600400.us.archive.org/8/items/zeromq_4.0.7/zeromq-4.0.7.tar.gz [2160825/2160825] -> "/root/bitcoin-0.12.0/depends/work/download/zeromq-4.0.7/zeromq-4.0.7.tar.gz.temp" [1]
/root/bitcoin-0.12.0/depends/work/download/zeromq-4.0.7/zeromq-4.0.7.tar.gz.temp: OK
Fetching qt...
http://download.qt.io/official_releases/qt/5.5/5.5.0/submodules/qtbase-opensource-src-5.5.0.tar.gz:
2017-12-16 21:02:03 ERROR 404: Not Found.
https://bitcoincore.org/depends-sources/qtbase-opensource-src-5.5.0.tar.gz:
2017-12-16 21:02:03 ERROR 404: Not Found.
make[1]: *** [/root/bitcoin-0.12.0/depends/sources/download-stamps/.stamp_fetched-qt-qtbase-opensource-src-5.5.0.tar.gz.hash] Error 8
make: *** [download-osx] Error 2
root@progof:~/bitcoin-0.12.0/depends#

Сново ошибка, скомпилировать или нужно что-то еще сделать?


Title: Re: Собрал 0.13.0 из исходников
Post by: progof on December 16, 2017, 08:15:46 PM
Скомпилировал и получил это

root@progof:~/bitcoin-0.12.0/depends# make HOST=x86_64-w64-mingw32 -j4
/bin/sh: 1: test: qtbase-opensource-src-5.5.0.tar.gz: unexpected operator
Fetching qt...
http://download.qt.io/official_releases/qt/5.5/5.5.0/submodules/qtbase-opensource-src-5.5.0.tar.gz:
2017-12-16 21:14:34 ERROR 404: Not Found.
https://bitcoincore.org/depends-sources/qtbase-opensource-src-5.5.0.tar.gz:
2017-12-16 21:14:34 ERROR 404: Not Found.
make: *** [/root/bitcoin-0.12.0/depends/sources/download-stamps/.stamp_fetched-qt-qtbase-opensource-src-5.5.0.tar.gz.hash] Error 8
root@progof:~/bitcoin-0.12.0/depends#


Title: Re: Собрал 0.13.0 из исходников
Post by: kzv on December 16, 2017, 08:22:11 PM
Вы пытаетесь 0.12 версию собрать?
Там нужен более серьезный бубен, я боюсь не смогу вам помочь, хотя сам как-то собираю... Но каждый раз сам не могу запомнить точную последовательность действий ((

Мануал в шапке, работает для версии 0.13 и выше.


Title: Re: Собрал 0.13.0 из исходников
Post by: progof on December 16, 2017, 08:28:54 PM
Вы пытаетесь 0.12 версию собрать?
Там нужен более серьезный бубен, я боюсь не смогу вам помочь, хотя сам как-то собираю... Но каждый раз сам не могу запомнить точную последовательность действий ((

Мануал в шапке, работает для версии 0.13 и выше.

Да 0.12, вы писали в своем первом посте если делать сборку версии 0.13, то придется делать форк какого-то манера и я взял версию 0.12 чтобы после компиляции получить все по дефолту


Title: Re: Собрал 0.13.0 из исходников
Post by: kzv on December 16, 2017, 08:31:29 PM
Вы пытаетесь 0.12 версию собрать?
Там нужен более серьезный бубен, я боюсь не смогу вам помочь, хотя сам как-то собираю... Но каждый раз сам не могу запомнить точную последовательность действий ((

Мануал в шапке, работает для версии 0.13 и выше.

Да 0.12, вы писали в своем первом посте если делать сборку версии 0.13, то придется делать форк какого-то манера и я взял версию 0.12 чтобы после компиляции получить все по дефолту

Ну когда я писал первый пост, 0.12 нормально собиралась по этой инструкции. Сейчас она просто так не собирается. Так что если в форке нужен майнинг кошельком, то нужно танцевать с бубном ((


Title: Re: Собрал 0.13.0 из исходников
Post by: progof on December 16, 2017, 08:37:32 PM
Вы пытаетесь 0.12 версию собрать?
Там нужен более серьезный бубен, я боюсь не смогу вам помочь, хотя сам как-то собираю... Но каждый раз сам не могу запомнить точную последовательность действий ((

Мануал в шапке, работает для версии 0.13 и выше.

Да 0.12, вы писали в своем первом посте если делать сборку версии 0.13, то придется делать форк какого-то манера и я взял версию 0.12 чтобы после компиляции получить все по дефолту

Ну когда я писал первый пост, 0.12 нормально собиралась по этой инструкции. Сейчас она просто так не собирается. Так что если в форке нужен майнинг кошельком, то нужно танцевать с бубном ((

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


Title: Re: Собрал 0.13.0 из исходников
Post by: kzv on December 16, 2017, 09:23:24 PM
Майнер в кошелек встроен с первой по 12 версии. Начиная с 13 версии майнить можно только сторонними программами.


Title: Re: Собрал 0.13.0 из исходников
Post by: progof on December 17, 2017, 08:17:39 AM
Скомпилировал версию 0.13.1 и получил в итоге не сколько файлов по в той папке /bitcoin-0.13.1/depends/i686-w64-mingw32/bin что нужно делать дальше чтобы запустить саму монету и учится дальше?


Title: Re: Собрал 0.13.0 из исходников
Post by: kzv on December 21, 2017, 11:14:48 AM
Скомпилировал версию 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

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


Title: Re: Собрал 0.13.0 из исходников
Post by: AdeptEthereumStocks on December 21, 2017, 11:17:24 AM
Из за чего так долго не могли разобраться с маинингом? Сразу не анализировали? а просто пускали майнер?


Title: Re: Собрал 0.13.0 из исходников
Post by: progof on December 21, 2017, 11:11:30 PM
Ошибка при команде "make"
make: *** [/root/ats-0.1/depends/work/build/x86_64-pc-linux-gnu/boost/1_64_0-3967b1253c9/./.stamp_built] Error 1

Как это лечить?


Title: Re: Собрал 0.13.0 из исходников
Post by: kzv on December 22, 2017, 06:28:08 AM
Ошибка при команде "make"
make: *** [/root/ats-0.1/depends/work/build/x86_64-pc-linux-gnu/boost/1_64_0-3967b1253c9/./.stamp_built] Error 1

Как это лечить?

make clean


Title: Re: Собрал 0.13.0 из исходников
Post by: progof on December 22, 2017, 10:49:49 AM
Ошибка при команде "make"
make: *** [/root/ats-0.1/depends/work/build/x86_64-pc-linux-gnu/boost/1_64_0-3967b1253c9/./.stamp_built] Error 1

Как это лечить?

make clean

Заработало)

Решил запустить демона, но выдало мне такой результат

root@progof:~/test-0.1/depends/i686-pc-linux-gnu/bin# ./testd
testd: chainparams.cpp:123: CMainParams::CMainParams(): Assertion `consensus.hashGenesisBlock == uint256S("0x00000000445999647df11eba1ac9c2fbb52c5c271417292e13b3282d004a3dc3")' failed.
Aborted


Title: Re: Собрал 0.13.0 из исходников
Post by: kzv on December 22, 2017, 08:22:45 PM
Ошибка при команде "make"
make: *** [/root/ats-0.1/depends/work/build/x86_64-pc-linux-gnu/boost/1_64_0-3967b1253c9/./.stamp_built] Error 1

Как это лечить?

make clean

Заработало)

Решил запустить демона, но выдало мне такой результат

root@progof:~/test-0.1/depends/i686-pc-linux-gnu/bin# ./testd
testd: chainparams.cpp:123: CMainParams::CMainParams(): Assertion `consensus.hashGenesisBlock == uint256S("0x00000000445999647df11eba1ac9c2fbb52c5c271417292e13b3282d004a3dc3")' failed.
Aborted


Прога вам какбэ намекает, что в файле chainparams.cpp в строке 123 есть строчка, которую нужно поправить )))


Title: Re: Собрал 0.13.0 из исходников
Post by: progof on December 23, 2017, 03:32:05 PM
Ошибка при команде "make"
make: *** [/root/ats-0.1/depends/work/build/x86_64-pc-linux-gnu/boost/1_64_0-3967b1253c9/./.stamp_built] Error 1

Как это лечить?

make clean

Заработало)

Решил запустить демона, но выдало мне такой результат

root@progof:~/test-0.1/depends/i686-pc-linux-gnu/bin# ./testd
testd: chainparams.cpp:123: CMainParams::CMainParams(): Assertion `consensus.hashGenesisBlock == uint256S("0x00000000445999647df11eba1ac9c2fbb52c5c271417292e13b3282d004a3dc3")' failed.
Aborted


Прога вам какбэ намекает, что в файле chainparams.cpp в строке 123 есть строчка, которую нужно поправить )))


Ну это понятно что нужно в строке 123 поправить) Этот хэш нужно просто изменить рандомные цифры и буквы или сгенерировать новый? Если сгенерировать новый, то как? Нашел вот эту статью http://bitfork-develop.com/create-genesis-block/ изменил я заголовок новости, дальше этот человек запускает кошелек и он ему генерирует новый хэш который он вставляет в код.


Title: Re: Собрал 0.13.0 из исходников
Post by: alexeyneu on December 24, 2017, 02:31:57 PM
сгенерировать можно блок и  у него будет хэш. незнаю кто это писал


Title: Re: Собрал 0.13.0 из исходников
Post by: Emir999 on December 28, 2017, 05:28:46 PM
Это все ерунда, система ваша неустойчивая и можно легко намайнить все одному подхватом заднего блока, после чего у вас не будут работать серваки и не будет синхронизации сети, одним словом пройденный этап.


Title: Re: Собрал 0.13.0 из исходников
Post by: progof on December 30, 2017, 09:58:47 PM
Это все ерунда, система ваша неустойчивая и можно легко намайнить все одному подхватом заднего блока, после чего у вас не будут работать серваки и не будет синхронизации сети, одним словом пройденный этап.

Как это все реализовать?


Title: Re: Собрал 0.13.0 из исходников
Post by: abc9843 on January 12, 2018, 11:15:31 AM
Правильно понимаю что это для майнинга своей(bitcoin) валюты?


Title: Re: Собрал 0.13.0 из исходников
Post by: kzv on January 12, 2018, 11:17:16 AM
Правильно понимаю что это для майнинга своей(bitcoin) валюты?

Не обязательно.
В стартовом посте описан процесс компиляции исходного кода оригинального биткоин клиента.
Что вы с этим будете делать дальше - это отдельная песня.


Title: Re: Собрал 0.13.0 из исходников
Post by: n00by on January 12, 2018, 03:27:46 PM
Собрал master ветку текущую в винде без виртуальных машин и прочего. Если будет интерес хотя бы у пары человек, поборю лень и напишу инструкцию.


Title: Re: Собрал 0.13.0 из исходников
Post by: kzv on January 12, 2018, 03:31:04 PM
Собрал master ветку текущую в винде без виртуальных машин и прочего. Если будет интерес хотя бы у пары человек, поборю лень и напишу инструкцию.

Очень интересно. Хотя бы намекните КАК?


Title: Re: Собрал 0.13.0 из исходников
Post by: n00by on January 12, 2018, 03:58:03 PM
Собрал master ветку текущую в винде без виртуальных машин и прочего. Если будет интерес хотя бы у пары человек, поборю лень и напишу инструкцию.

Очень интересно. Хотя бы намекните КАК?

С помощью windows 10 и WSL. На выхах сяду напишу, честно


Title: Re: Собрал 0.13.0 из исходников
Post by: kzv on January 12, 2018, 04:04:37 PM
Собрал master ветку текущую в винде без виртуальных машин и прочего. Если будет интерес хотя бы у пары человек, поборю лень и напишу инструкцию.

Очень интересно. Хотя бы намекните КАК?

С помощью windows 10 и WSL. На выхах сяду напишу, честно


А понял. На том же Линуксе только сбоку ))
Я так тоже умею.


Title: Re: Собрал 0.13.0 из исходников
Post by: n00by on January 12, 2018, 05:14:00 PM
А понял. На том же Линуксе только сбоку ))
Я так тоже умею.

Да. Майки хорошо постарались. Только релиз ubuntu надо обновить внутри.
И на гитхабе у биткойна инструкции выполнить.
Собирается на ура


Title: Re: Собрал 0.13.0 из исходников
Post by: kefan on January 20, 2018, 08:54:15 AM
хорощая идея установить "VirtualBox " программа абсолютно бесплатная и полностью на русском языке, что делает её очень привлекательной для использования


Title: Re: Собрал 0.13.0 из исходников
Post by: Trunked on March 22, 2018, 09:12:05 AM
Несколкьо раз пробовал скомпилировать, следуя инструкциям, не получилось :( Может кто подскажет, в чем может быть дело?

Хост: Винда 10, VMware® Workstation 14 Pro
Гость: ubuntu-16.04.4-desktop-i386.

Набирал команды по одной:

sudo apt-get update
sudo apt-get upgrade
sudo apt-get install build-essential libtool autotools-dev automake pkg-config libssl-dev libevent-dev bsdmainutils
sudo apt-get install libboost-system-dev libboost-filesystem-dev libboost-chrono-dev libboost-program-options-dev libboost-test-dev libboost-thread-dev
sudo add-apt-repository ppa:bitcoin/bitcoin
sudo apt-get update
sudo apt-get install libdb4.8-dev libdb4.8++-dev
sudo apt-get install libminiupnpc-dev
sudo apt-get install libzmq3-dev
sudo apt-get install libqt5gui5 libqt5core5a libqt5dbus5 qttools5-dev qttools5-dev-tools libprotobuf-dev protobuf-compiler
sudo apt-get install libqrencode-dev
wget https://github.com/bitcoin/bitcoin/archive/v0.13.0.tar.gz
tar -xvzf v0.13.0.tar.gz
cd bitcoin-0.13.0
./autogen.sh


И в этот момент начались варнинги

Makefile.am:5: warning: user variable 'GZIP_ENV' defined here ...
/usr/share/automake-1.15/am/distdir.am: ... overrides Automake variable 'GZIP_ENV' defined here
src/Makefile.am: installing 'build-aux/depcomp'
src/Makefile.am:454: warning: user target '.mm.o' defined here ...
/usr/share/automake-1.15/am/depend2.am: ... overrides Automake target '.mm.o' defined here


Потом попробовал запустить команды


./configure
make


но все стало только хуже:

In file included from timedata.h:9:0,
                 from txmempool.cpp:15:
txmempool.cpp: In member function ‘void CTxMemPool::check(const CCoinsViewCache*) const’:
txmempool.cpp:734:45: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
         assert(it->GetSizeWithDescendants() >= childSizes + it->GetTxSize());
                                             ^

In file included from ./leveldb/util/arena.h:9:0,
                 from ./leveldb/db/skiplist.h:33,
                 from ./leveldb/db/memtable.h:11,
                 from leveldb/db/memtable.cc:5:
leveldb/db/memtable.cc: In member function ‘void leveldb::MemTable::Add(leveldb::SequenceNumber, leveldb::ValueType, const leveldb::Slice&, const leveldb::Slice&)’:
leveldb/db/memtable.cc:104:31: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
   assert((p + val_size) - buf == encoded_len);
                               ^


leveldb/util/bloom.cc: In member function ‘virtual void leveldb::{anonymous}::BloomFilterPolicy::CreateFilter(const leveldb::Slice*, int, std::__cxx11::string*) const’:
leveldb/util/bloom.cc:50:26: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
     for (size_t i = 0; i < n; i++) {

  CXX leveldb/util/leveldb_libleveldb_a-logging.o
leveldb/util/logging.cc: In function ‘bool leveldb::ConsumeDecimalNumber(leveldb::Slice*, uint64_t*)’:
leveldb/util/logging.cc:58:40: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
           (v == kMaxUint64/10 && delta > kMaxUint64%10)) {
                                        ^

qt/test/paymentservertests.cpp: In member function ‘void PaymentServerTests::paymentServerTests()’:
qt/test/paymentservertests.cpp:65:6: warning: stack protector not protecting local variables: variable length buffer [-Wstack-protector]
 void PaymentServerTests::paymentServerTests()
      ^


У кого нибудь бывали похожие проблемы?


Title: Re: Собрал 0.13.0 из исходников
Post by: kzv on March 22, 2018, 09:52:08 AM
Вообще на варнинги внимания можно не обращать до тех пор пока они к ошибкам не приводят.
Ошибки-то в конце концов появились?

И лучше на 14 убунте компилируйте. С 16 вроде проблемы были какие-то.


Title: Re: Собрал 0.13.0 из исходников
Post by: Trunked on March 22, 2018, 01:45:28 PM
Ошибок не было, бинарников тоже :(

Спасибо за подсказку, попробую с 14ым убунту и отпишусь о результате.

Должен сказать, что это на мой взгляд самый полезный из аналогичных топиков по компиляции биткойна.
Наверное правильнее (и дольше) с гитхаба брать информацию, но для новичков это совсем тяжело.


Title: Re: Собрал 0.13.0 из исходников
Post by: tatianablashko on March 23, 2018, 11:40:56 AM
Спасибо. очень емко и главное понятно для чайников как я  ;D


Title: Re: Собрал 0.13.0 из исходников
Post by: Trunked on March 23, 2018, 09:13:54 PM
Установил 14-й убунту, все скомпилировалось.
Только, кажется, там нет запускаемых файлов?
Создалось 7 файлов: bench_bitcoin, bitcoin-cli, bitcoind, bitcoin-qt, bitcoin-tx, test_bitcoin, test_bitcoin-qt
По клику на любой из них выдает ошибку: Could not display “bitcoind”. There is no application installed for “shared library” files. Do you want to search for an application to open this file?

Может кто нибудь подскажет, что можно сделать чтобы запустить?


Title: Re: Собрал 0.13.0 из исходников
Post by: Trunked on March 25, 2018, 03:46:15 PM
Заработало, спасибо ребятам с англоязычной ветке за подсказку.
Оказалось, запускается только из терминала.


Title: Re: Собрал 0.13.0 из исходников
Post by: progof on March 25, 2018, 05:33:30 PM
Заработало, спасибо ребятам с англоязычной ветке за подсказку.
Оказалось, запускается только из терминала.

Как решили эту проблему?


Title: Re: Собрал 0.13.0 из исходников
Post by: Trunked on March 26, 2018, 07:37:20 AM
Запускаем Terminal
Далее в нем  набираем поочередно две команды:

cd /usr/local/bin
bitcoin-qt

И запустится GUI биткойна.


Title: Re: Собрал 0.13.0 из исходников
Post by: progof on August 12, 2018, 03:45:57 PM
Собрал файлы для win64, сделал strip для скомпилированных файлов depends/x86_64-w64-mingw32/bin  и при запуске одного из файлов получаю ошибку "program too big fit in memory". Может у кого-то была такая история, помогите пожалуйста ее решить :)


Title: Re: Собрал 0.13.0 из исходников
Post by: ligor on August 12, 2018, 05:26:38 PM
Собрал файлы для win64, сделал strip для скомпилированных файлов depends/x86_64-w64-mingw32/bin  и при запуске одного из файлов получаю ошибку "program too big fit in memory". Может у кого-то была такая история, помогите пожалуйста ее решить :)
Зачем strip для depends/x86_64-w64-mingw32/bin ? Можно вообще без strip, ну или для скомпилированного bitcoin.exe или что там компилируется.


Title: Re: Собрал 0.13.0 из исходников
Post by: progof on August 12, 2018, 06:18:24 PM
Собрал файлы для win64, сделал strip для скомпилированных файлов depends/x86_64-w64-mingw32/bin  и при запуске одного из файлов получаю ошибку "program too big fit in memory". Может у кого-то была такая история, помогите пожалуйста ее решить :)
Зачем strip для depends/x86_64-w64-mingw32/bin ? Можно вообще без strip, ну или для скомпилированного bitcoin.exe или что там компилируется.

Strip сделал меньший размер файлов. Почему лучше этого не делать? И как исправить ошибку о которой я писал выше?


Title: Re: Собрал 0.13.0 из исходников
Post by: kzv on August 12, 2018, 06:40:24 PM
Какую версию битка форкаете? На какой операционке собираете? Ошибку дает демон или гуевый кошелек? На всех операционках такая ошибка? Пробовали без strip запускать? Пробовали на других операционках собирать и запускать?


Title: Re: Собрал 0.13.0 из исходников
Post by: progof on August 12, 2018, 07:19:58 PM
Какую версию битка форкаете? На какой операционке собираете? Ошибку дает демон или гуевый кошелек? На всех операционках такая ошибка? Пробовали без strip запускать? Пробовали на других операционках собирать и запускать?

Форкаю биток 0.13.2 и лайт 0.13.2.1;
Собираю на vps OS Ubunbu 14.04 64bit;
Ошибку выдаёт при запуске любого файла на win32 (хотя когда собирал то использовал инструкцию по заборке для win64, а при запуске выдаёт ошибку что файл для другой разрядности битности);

Первым я собираю лайт, так как у него похожий код у битка той же версии.


Title: Re: Собрал 0.13.0 из исходников
Post by: kzv on August 13, 2018, 01:48:35 PM
Форкаю биток 0.13.2 и лайт 0.13.2.1;
Собираю на vps OS Ubunbu 14.04 64bit;
Все верно, только учтите, что в 64 биткой убунте вы можете собрать только 64 битный клиент для линукса, 64 и 32 битный клиент для винды. 32 битный клиент для линукса можно собрать только на 32 битной убунте.
.
Ошибку выдаёт при запуске любого файла на win32 (хотя когда собирал то использовал инструкцию по заборке для win64, а при запуске выдаёт ошибку что файл для другой разрядности битности);

Вот тут я ничего не понял.
1. Какая версия винды? Если ХР, то пробуйте в более новой.
2. Если собирали для вин64, то в вин32 ничего запускаться не будет.


Title: Re: Собрал 0.13.0 из исходников
Post by: progof on August 13, 2018, 03:49:48 PM
Пересобрал клиента снова для win64, сделал stip litecoin-qt && litecoind:
Когда скачал файлы на ПК дописал им расширение  exe;
И при запуске клиента пишет:

Версия этого файла несовместима с используемой версией Windows . С помощью сведений о системе определите необходимую версию программы ( 32 - или 64 - разрядную ) и обратитесь к издателю программного обеспечения .


Title: Re: Собрал 0.13.0 из исходников
Post by: kzv on August 13, 2018, 03:55:57 PM
Пересобрал клиента снова для win64, сделал stip litecoin-qt && litecoind:
Когда скачал файлы на ПК дописал им расширение  exe;

Без exe собираются бинарики для линукса.
Если у вас не собираются exe, значит ошибка где-то раньше. Скорее всего не установилась библиотека Mingw пробуйте опять установить все зависимости и смотреть - где вылетает ошибка.


Title: Re: Собрал 0.13.0 из исходников
Post by: progof on August 13, 2018, 06:10:16 PM
Пересобрал клиента снова для win64, сделал stip litecoin-qt && litecoind:
Когда скачал файлы на ПК дописал им расширение  exe;

Без exe собираются бинарики для линукса.
Если у вас не собираются exe, значит ошибка где-то раньше. Скорее всего не установилась библиотека Mingw пробуйте опять установить все зависимости и смотреть - где вылетает ошибка.

Ура! Получилось собрать, решением было просто установить еще один пакет
sudo apt-get install mingw-w64

Пару вопросов:
1. При исользование версии битка 13 и выше прийдется и искать майнер, соответственно в лайта также история. Если для начала внести мелкие изменения так как название, картинки и иконки, количество монет, порты, seednode, чекпоинты, время (date +s%) - то по идеи можно использовать те манеры которые майнят тот же биток или лайт, например https://github.com/ozbenh/cgminer - верно?
2. При создание форка Лайта 0.8.7.5 добавив в main.cpp код для генерации Genesis Block можно легко создать монетку, в биткойна в той же версией думаю также история. В версия 12 или 13 архитектура кода немного изменилась. Вопрос: Есть ли какой-то код или скрипт чтобы сгенерировать новый генезис для главной сети и тестовой  + Merkel hash? Если есть другие способ или варианты?


Title: Re: Собрал 0.13.0 из исходников
Post by: kzv on August 14, 2018, 06:19:37 AM
1. Пока вы не поменяете алгоритм хэширования, можете майнить свой форк любым пулом. У биткоина алгоритм называется sha256
2. Почитайте этот пост https://bitcointalk.org/index.php?topic=1624251.msg26716671#msg26716671


Title: Re: Собрал 0.13.0 из исходников
Post by: progof on August 14, 2018, 08:37:48 AM
1. Пока вы не поменяете алгоритм хэширования, можете майнить свой форк любым пулом. У биткоина алгоритм называется sha256
2. Почитайте этот пост https://bitcointalk.org/index.php?topic=1624251.msg26716671#msg26716671

Генезис блок и другие данные которые я получу используя эту программу https://github.com/Gnaf/GenesisBlockZero
подойдут ли они для кода лайта 13.2?

Нашел еще этот скрипт https://github.com/lhartikk/GenesisH0 для генерации генезиса и т.д , но указав все данные мне выдает ошибку:

Traceback (most recent call last):
  File "genesis.py", line 2, in <module>
    import scrypt
ImportError: No module named scrypt


Title: Re: Собрал 0.13.0 из исходников
Post by: kzv on August 14, 2018, 09:07:25 AM
1. Пока вы не поменяете алгоритм хэширования, можете майнить свой форк любым пулом. У биткоина алгоритм называется sha256
2. Почитайте этот пост https://bitcointalk.org/index.php?topic=1624251.msg26716671#msg26716671

Генезис блок и другие данные которые я получу используя эту программу https://github.com/Gnaf/GenesisBlockZero
подойдут ли они для кода лайта 13.2?

Нашел еще этот скрипт https://github.com/lhartikk/GenesisH0 для генерации генезиса и т.д , но указав все данные мне выдает ошибку:

Traceback (most recent call last):
  File "genesis.py", line 2, in <module>
    import scrypt
ImportError: No module named scrypt


По скриптам для лайта ничего не подскажу. Не интересовался


Title: Re: Собрал 0.13.0 из исходников
Post by: progof on August 14, 2018, 08:10:31 PM
Собираю уже подготовенный код монеты по инструкции и при вводе команды make download выдает ошибку:

make: Warning: File `packages/native_protobuf.mk' has modification time 9e+03 s in the future
make[1]: Warning: File `packages/native_protobuf.mk' has modification time 9e+03 s in the future
Checksum missing or mismatched for boost source. Forcing re-download.
Fetching boost_1_64_0.tar.bz2 from https://dl.bintray.com/boostorg/release/1.64.0/source/
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0
100 76.7M  100 76.7M    0     0  82.6M      0 --:--:-- --:--:-- --:--:--  100M
/root/coin-v0.2/depends/work/download/boost-1_64_0/boost_1_64_0.tar.bz2.temp: FAILED
sha256sum: WARNING: 1 computed checksum did NOT match
Fetching boost_1_64_0.tar.bz2 from https://bitcoincore.org/depends-sources
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100 76.7M  100 76.7M    0     0  7234k      0  0:00:10  0:00:10 --:--:-- 7804k
/root/coin-v0.2/depends/work/download/boost-1_64_0/boost_1_64_0.tar.bz2.temp: FAILED
sha256sum: WARNING: 1 computed checksum did NOT match
make[1]: *** [/root/coin-v0.2/depends/sources/download-stamps/.stamp_fetched-boost-boost_1_64_0.tar.bz2.hash] Error 1
make: *** [download-osx] Error 2


Собираю на Ubuntu 14.04 x64, версия монеты ltc 15.1 - с битком наверно не отличается в сборке.


Title: Re: Собрал 0.13.0 из исходников
Post by: kzv on August 15, 2018, 06:22:15 AM
Собираю уже подготовенный код монеты по инструкции и при вводе команды make download выдает ошибку:

make: Warning: File `packages/native_protobuf.mk' has modification time 9e+03 s in the future
make[1]: Warning: File `packages/native_protobuf.mk' has modification time 9e+03 s in the future
Checksum missing or mismatched for boost source. Forcing re-download.
Fetching boost_1_64_0.tar.bz2 from https://dl.bintray.com/boostorg/release/1.64.0/source/
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0
100 76.7M  100 76.7M    0     0  82.6M      0 --:--:-- --:--:-- --:--:--  100M
/root/coin-v0.2/depends/work/download/boost-1_64_0/boost_1_64_0.tar.bz2.temp: FAILED
sha256sum: WARNING: 1 computed checksum did NOT match
Fetching boost_1_64_0.tar.bz2 from https://bitcoincore.org/depends-sources
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100 76.7M  100 76.7M    0     0  7234k      0  0:00:10  0:00:10 --:--:-- 7804k
/root/coin-v0.2/depends/work/download/boost-1_64_0/boost_1_64_0.tar.bz2.temp: FAILED
sha256sum: WARNING: 1 computed checksum did NOT match
make[1]: *** [/root/coin-v0.2/depends/sources/download-stamps/.stamp_fetched-boost-boost_1_64_0.tar.bz2.hash] Error 1
make: *** [download-osx] Error 2


Собираю на Ubuntu 14.04 x64, версия монеты ltc 15.1 - с битком наверно не отличается в сборке.

Строка "download-osx" какбэ намекает на то, что вы пытаетесь собрать для макоси?
В таком случае ничем помочь не могу. Спросите в англоветке кодеров или на гитхабе. Я сборку под макось из под линукса так и не осилил тоже. Скорее всего корректно собирается только на маке.


Title: Re: Собрал 0.13.0 из исходников
Post by: progof on August 15, 2018, 06:33:48 AM
Собираю уже подготовенный код монеты по инструкции и при вводе команды make download выдает ошибку:

make: Warning: File `packages/native_protobuf.mk' has modification time 9e+03 s in the future
make[1]: Warning: File `packages/native_protobuf.mk' has modification time 9e+03 s in the future
Checksum missing or mismatched for boost source. Forcing re-download.
Fetching boost_1_64_0.tar.bz2 from https://dl.bintray.com/boostorg/release/1.64.0/source/
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0
100 76.7M  100 76.7M    0     0  82.6M      0 --:--:-- --:--:-- --:--:--  100M
/root/coin-v0.2/depends/work/download/boost-1_64_0/boost_1_64_0.tar.bz2.temp: FAILED
sha256sum: WARNING: 1 computed checksum did NOT match
Fetching boost_1_64_0.tar.bz2 from https://bitcoincore.org/depends-sources
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100 76.7M  100 76.7M    0     0  7234k      0  0:00:10  0:00:10 --:--:-- 7804k
/root/coin-v0.2/depends/work/download/boost-1_64_0/boost_1_64_0.tar.bz2.temp: FAILED
sha256sum: WARNING: 1 computed checksum did NOT match
make[1]: *** [/root/coin-v0.2/depends/sources/download-stamps/.stamp_fetched-boost-boost_1_64_0.tar.bz2.hash] Error 1
make: *** [download-osx] Error 2


Собираю на Ubuntu 14.04 x64, версия монеты ltc 15.1 - с битком наверно не отличается в сборке.

Строка "download-osx" какбэ намекает на то, что вы пытаетесь собрать для макоси?
В таком случае ничем помочь не могу. Спросите в англоветке кодеров или на гитхабе. Я сборку под макось из под линукса так и не осилил тоже. Скорее всего корректно собирается только на маке.

Он ошибается видемо) Собираю по вашей инструкции сначала для линукса, а потом для винды. Первая команда для сборки это cd depends && make download


Title: Re: Собрал 0.13.0 из исходников
Post by: kzv on August 15, 2018, 06:43:00 AM
make download качает все для всех систем. Видимо для макоси скачать не может. Но возможно для других уже скачало. Попробуйте дальше по инструкции - может проканает )


Title: Re: Собрал 0.13.0 из исходников
Post by: progof on August 15, 2018, 07:37:46 AM
make download качает все для всех систем. Видимо для макоси скачать не может. Но возможно для других уже скачало. Попробуйте дальше по инструкции - может проканает )

Продолжил сборке с make, оно еще подкачивало нужные программы и выдало ошибку:

Postprocessing native_protobuf...
Caching native_protobuf...
Fetching boost_1_64_0.tar.bz2 from https://dl.bintray.com/boostorg/release/1.64.0/source/
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0
100 76.7M  100 76.7M    0     0  72.3M      0  0:00:01  0:00:01 --:--:-- 72.3M
/root/coin-v0.2/depends/work/download/boost-1_64_0/boost_1_64_0.tar.bz2.temp: FAILED
sha256sum: WARNING: 1 computed checksum did NOT match
Fetching boost_1_64_0.tar.bz2 from https://bitcoincore.org/depends-sources
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100 76.7M  100 76.7M    0     0  6584k      0  0:00:11  0:00:11 --:--:-- 15.3M
/root/coin-v0.2/depends/work/download/boost-1_64_0/boost_1_64_0.tar.bz2.temp: FAILED
sha256sum: WARNING: 1 computed checksum did NOT match
make: *** [/root/coin-v0.2/depends/sources/download-stamps/.stamp_fetched-boost-boost_1_64_0.tar.bz2.hash] Error 1


Title: Re: Собрал 0.13.0 из исходников
Post by: progof on August 15, 2018, 04:09:26 PM
Для второй сборки взял последнюю версию лайта, изменил название, порты, генезис блок, количество монет и отправил на сборку, все шло гладко, но вы появилась ошибка, на процесс make в главной директории монеты.


make[2]: *** No rule to make target `qt/res/icons/coin_splash.png', needed by `qt/qrc_bitcoin.cpp'.  Stop.
make[2]: Leaving directory `/root/coin/src'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/root/coin/src'
make: *** [all-recursive] Error 1


Кода делал тестовую сборку монеты на битке также ошибка была на том же процессе.
Название монеты меняю таким образом, аналогично и в битке:


find ./ -type f -readable -writable -exec sed -i "s/Litecoin/Testcoin/g" {} \;
find ./ -type f -readable -writable -exec sed -i "s/LiteCoin/TestCoin/g" {} \;
find ./ -type f -readable -writable -exec sed -i "s/LTC/TC/g" {} \;
find ./ -type f -readable -writable -exec sed -i "s/litecoin/testcoin/g" {} \;
find ./ -type f -readable -writable -exec sed -i "s/litecoind/testcoind/g" {} \;


Title: Re: Собрал 0.13.0 из исходников
Post by: ichernikov1 on September 09, 2018, 07:44:55 PM
Есть кто осилил форк? отпишитесь в телегу @ichernikov1
Нужен человек на несколько проектов.


Title: Re: Собрал 0.13.0 из исходников
Post by: BCP_Dev on November 01, 2018, 01:55:43 AM
Для второй сборки взял последнюю версию лайта, изменил название, порты, генезис блок, количество монет и отправил на сборку, все шло гладко, но вы появилась ошибка, на процесс make в главной директории монеты.


make[2]: *** No rule to make target `qt/res/icons/coin_splash.png', needed by `qt/qrc_bitcoin.cpp'.  Stop.
make[2]: Leaving directory `/root/coin/src'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/root/coin/src'
make: *** [all-recursive] Error 1


Кода делал тестовую сборку монеты на битке также ошибка была на том же процессе.
Название монеты меняю таким образом, аналогично и в битке:


find ./ -type f -readable -writable -exec sed -i "s/Litecoin/Testcoin/g" {} \;
find ./ -type f -readable -writable -exec sed -i "s/LiteCoin/TestCoin/g" {} \;
find ./ -type f -readable -writable -exec sed -i "s/LTC/TC/g" {} \;
find ./ -type f -readable -writable -exec sed -i "s/litecoin/testcoin/g" {} \;
find ./ -type f -readable -writable -exec sed -i "s/litecoind/testcoind/g" {} \;

Ну он же вам ясно указывает, что нет правила для сборки coin_splash.png в файле qt/qrc_bitcoin.cpp вы должны прописать картинку coin_splash.png в файле qrc_bitcoin.cpp


Title: Re: Собрал 0.13.0 из исходников
Post by: progof on November 01, 2018, 12:58:21 PM
Возникла ошибка при сборке битка 15.1 на убунту 14.04 для win64

Ошибка:
Staging miniupnpc...
Postprocessing miniupnpc...
Caching miniupnpc...
copying packages: native_ccache native_protobuf boost openssl libevent zeromq qrencode protobuf zlib qt bdb miniupnpc
to: /root/bitcoin/depends/x86_64-w64-mingw32
bash: ./configure: No such file or directory



Title: Re: Собрал 0.13.0 из исходников
Post by: kzv on November 01, 2018, 01:01:41 PM
Возникла ошибка при сборке битка 15.1 на убунту 14.04 для win64

Ошибка:
Staging miniupnpc...
Postprocessing miniupnpc...
Caching miniupnpc...
copying packages: native_ccache native_protobuf boost openssl libevent zeromq qrencode protobuf zlib qt bdb miniupnpc
to: /root/bitcoin/depends/x86_64-w64-mingw32
bash: ./configure: No such file or directory



они уже 16 убунту отказываются поддерживать, а вы на 14 пытаетесь ))


Title: Re: Собрал 0.13.0 из исходников
Post by: progof on November 01, 2018, 01:06:21 PM
Возникла ошибка при сборке битка 15.1 на убунту 14.04 для win64

Ошибка:
Staging miniupnpc...
Postprocessing miniupnpc...
Caching miniupnpc...
copying packages: native_ccache native_protobuf boost openssl libevent zeromq qrencode protobuf zlib qt bdb miniupnpc
to: /root/bitcoin/depends/x86_64-w64-mingw32
bash: ./configure: No such file or directory



они уже 16 убунту отказываются поддерживать, а вы на 14 пытаетесь ))

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


Title: Re: Собрал 0.13.0 из исходников
Post by: kzv on November 01, 2018, 01:08:16 PM
На 16 убунту без проблем собрались бинарки для linux, а для win64 та же ошибка, может стоит попробовать собрать на 18 убунту?

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


Title: Re: Собрал 0.13.0 из исходников
Post by: progof on November 01, 2018, 02:34:18 PM
На 16 убунту без проблем собрались бинарки для linux, а для win64 та же ошибка, может стоит попробовать собрать на 18 убунту?

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

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


Title: Re: Собрал 0.13.0 из исходников
Post by: ligor on November 04, 2018, 04:36:12 PM
На 16 убунту без проблем собрались бинарки для linux, а для win64 та же ошибка, может стоит попробовать собрать на 18 убунту?

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

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


Title: Re: Собрал 0.13.0 из исходников
Post by: progof on November 04, 2018, 06:57:33 PM
На 16 убунту без проблем собрались бинарки для linux, а для win64 та же ошибка, может стоит попробовать собрать на 18 убунту?

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

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


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


Title: Re: Собрал 0.13.0 из исходников
Post by: ligor on November 05, 2018, 01:53:11 PM

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

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


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


Title: Re: Собрал 0.13.0 из исходников
Post by: progof on November 05, 2018, 05:11:59 PM

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

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


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

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

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

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


Title: Re: Собрал 0.13.0 из исходников
Post by: ligor on 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.

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

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. Уж не знаю на сколько это критично, сам особо не майню, но видно что ЦПУ минер может подставить в некоторых случаях.


Title: Re: Собрал 0.13.0 из исходников
Post by: progof on November 05, 2018, 08:30:50 PM
У меня сейчас нулевой nMinimumChainWork, при вводе getblockchaininfo показывает:

"chainwork": "0000000000000000000000000000000000000000000000000000000012f012f0

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

0x0000000000000000000000000000000000000000000000000000000000001000


Title: Re: Собрал 0.13.0 из исходников
Post by: ligor on November 06, 2018, 08:31:54 AM
У меня сейчас нулевой nMinimumChainWork, при вводе getblockchaininfo показывает:

"chainwork": "0000000000000000000000000000000000000000000000000000000012f012f0

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

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


Title: Re: Собрал 0.13.0 из исходников
Post by: progof on November 06, 2018, 09:15:43 AM
У меня сейчас нулевой nMinimumChainWork, при вводе getblockchaininfo показывает:

"chainwork": "0000000000000000000000000000000000000000000000000000000012f012f0

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

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

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


Title: Re: Собрал 0.13.0 из исходников
Post by: ligor on 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

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



Title: Re: Собрал 0.13.0 из исходников
Post by: MickNich on 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, поменять иконку, но где, в каком файле это надо менять?

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

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

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

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

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

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


Title: Re: Собрал 0.13.0 из исходников
Post by: ligor on December 14, 2018, 02:17:55 PM

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

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

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

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


Title: Re: Собрал 0.13.0 из исходников
Post by: MickNich on December 14, 2018, 02:28:12 PM

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

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


Title: Re: Собрал 0.13.0 из исходников
Post by: MickNich on December 15, 2018, 04:14:33 PM
Спомощью этой программы https://github.com/Gnaf/GenesisBlockZero/blob/master/genesisblock.c пытаюсь сгенерировать генезис блок, но получаю на экране такой вывод
Code:
Block found!
Hash: 00000000a0c67aa47840e7b73e06a0e4dcc10a98bd8ddee831092788194f0acc
Nonce: 3928961846
Unix time: 1544886668

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


Title: Re: Собрал 0.13.0 из исходников
Post by: ligor on December 15, 2018, 04:31:08 PM
Спомощью этой программы 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/


Title: Re: Собрал 0.13.0 из исходников
Post by: MickNich on December 18, 2018, 01:15:34 PM
Спомощью этой программы 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/ то эти ключи я использовать не могу, чем отличаются эти ключи, можно их как то один к другому привести?


Title: Re: Собрал 0.13.0 из исходников
Post by: MickNich on 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? но у меня он вроде как запускается только сам кошелек не появляется


Title: Re: Собрал 0.13.0 из исходников
Post by: ligor on 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 - гуи кошелек. Должен появляться интерфейс если собран правильно.


Title: Re: Собрал 0.13.0 из исходников
Post by: MickNich on 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 версии?


Title: Re: Собрал 0.13.0 из исходников
Post by: MickNich on December 19, 2018, 09:50:44 PM
Разбираюсь с 17 версией, вот где находятся все настройки монеты, в файле chainparams.cpp .

В chainparams.cpp даже есть функция CreateGenesisBlock.

Объясните что это такое
Code:
        checkpointData = {
            {
                { 11111, uint256S("0x0000000069e244f73d78e8fd29ba2fd2ed618bd6fa2ee92559f542fdb26e7c1d")},
                { 33333, uint256S("0x000000002dd5588a74784eaa7ab0507a18ad16a236e7b1ce69f00d7ddfb5d0a6")},
                { 74000, uint256S("0x0000000000573993a3c9e41ce34471c079dcf5f52a0e824a81e7f953b8661a20")},
                {105000, uint256S("0x00000000000291ce28027faea320c8d2b054b2e0fe44a773f3eefb151d6bdc97")},
                {134444, uint256S("0x00000000000005b12ffd4cd315cd34ffd4a594f430ac814c91184a0d42d2b0fe")},
                {168000, uint256S("0x000000000000099e61ea72015e79632f216fe6cb33d7899acb35b75c8303b763")},
                {193000, uint256S("0x000000000000059f452a5f7340de6682a977387c17010ff6e6c3bd83ca8b1317")},
                {210000, uint256S("0x000000000000048b95347e83192f69cf0366076336c639f9b7228e9ba171342e")},
                {216116, uint256S("0x00000000000001b4f4b433e81ee46494af945cf96014816a4e2370f11b23df4e")},
                {225430, uint256S("0x00000000000001c108384350f74090433e7fcf79a606b8e797f065b130575932")},
                {250000, uint256S("0x000000000000003887df1f29024b06fc2200b55f8af8f35453d7be294df2d214")},
                {279000, uint256S("0x0000000000000001ae8c72a0b0c301f67e3afca10e819efa9041e458e9bd7e40")},
                {295000, uint256S("0x00000000000000004d9b4ef50f0f9d686fd69db2e03af35a100370c64632a983")},
            }
        };

Что это за значения находятся в структуре checkpointData?
Если я буду делать свой тестовый ABCCoin, то что мне в свою структуру checkpointData поместить?


Title: Re: Собрал 0.13.0 из исходников
Post by: ligor on December 20, 2018, 09:00:38 AM
Разбираюсь с 17 версией, вот где находятся все настройки монеты, в файле chainparams.cpp .

В chainparams.cpp даже есть функция CreateGenesisBlock.

Объясните что это такое
Code:
        checkpointData = {
            {
                { 11111, uint256S("0x0000000069e244f73d78e8fd29ba2fd2ed618bd6fa2ee92559f542fdb26e7c1d")},
                { 33333, uint256S("0x000000002dd5588a74784eaa7ab0507a18ad16a236e7b1ce69f00d7ddfb5d0a6")},
                { 74000, uint256S("0x0000000000573993a3c9e41ce34471c079dcf5f52a0e824a81e7f953b8661a20")},
                {105000, uint256S("0x00000000000291ce28027faea320c8d2b054b2e0fe44a773f3eefb151d6bdc97")},
                {134444, uint256S("0x00000000000005b12ffd4cd315cd34ffd4a594f430ac814c91184a0d42d2b0fe")},
                {168000, uint256S("0x000000000000099e61ea72015e79632f216fe6cb33d7899acb35b75c8303b763")},
                {193000, uint256S("0x000000000000059f452a5f7340de6682a977387c17010ff6e6c3bd83ca8b1317")},
                {210000, uint256S("0x000000000000048b95347e83192f69cf0366076336c639f9b7228e9ba171342e")},
                {216116, uint256S("0x00000000000001b4f4b433e81ee46494af945cf96014816a4e2370f11b23df4e")},
                {225430, uint256S("0x00000000000001c108384350f74090433e7fcf79a606b8e797f065b130575932")},
                {250000, uint256S("0x000000000000003887df1f29024b06fc2200b55f8af8f35453d7be294df2d214")},
                {279000, uint256S("0x0000000000000001ae8c72a0b0c301f67e3afca10e819efa9041e458e9bd7e40")},
                {295000, uint256S("0x00000000000000004d9b4ef50f0f9d686fd69db2e03af35a100370c64632a983")},
            }
        };

Что это за значения находятся в структуре checkpointData?
Если я буду делать свой тестовый ABCCoin, то что мне в свою структуру checkpointData поместить?
пока просто удалите их. Потом будете уже свои значения ставить. В консоли есть команда generate, с помощью которой сам кошель генерирует заданное число блоков, ее просто нужно активировать , там будет подсказка как. вообще, в коде все подсказки есть, нужно искать. Qt creator надеюсь используете?


Title: Re: Собрал 0.13.0 из исходников
Post by: MickNich on December 20, 2018, 04:05:53 PM
добавил в качестве инструкции в Лучшие инструкции по крипте на форуме (https://bitcointalk.org/index.php?topic=4710373.msg42527899#msg42527899), раздел -Кошельки и способы хранения.
А зачем вы неработающую инструкцию добавили?
Вы пробовали так собрать и у вас получилось?

Я пробовал собрать как описано выше и у меня не получилось собрать 13 и 12 версию по этой инструкции, но 17 версию так собрать получилось.


Title: Re: Собрал 0.13.0 из исходников
Post by: MickNich on December 20, 2018, 04:20:17 PM
Разбираюсь с 17 версией, вот где находятся все настройки монеты, в файле chainparams.cpp .

В chainparams.cpp даже есть функция CreateGenesisBlock.

Объясните что это такое
Code:
        checkpointData = {
            {
                { 11111, uint256S("0x0000000069e244f73d78e8fd29ba2fd2ed618bd6fa2ee92559f542fdb26e7c1d")},
                { 33333, uint256S("0x000000002dd5588a74784eaa7ab0507a18ad16a236e7b1ce69f00d7ddfb5d0a6")},
                { 74000, uint256S("0x0000000000573993a3c9e41ce34471c079dcf5f52a0e824a81e7f953b8661a20")},
                {105000, uint256S("0x00000000000291ce28027faea320c8d2b054b2e0fe44a773f3eefb151d6bdc97")},
                {134444, uint256S("0x00000000000005b12ffd4cd315cd34ffd4a594f430ac814c91184a0d42d2b0fe")},
                {168000, uint256S("0x000000000000099e61ea72015e79632f216fe6cb33d7899acb35b75c8303b763")},
                {193000, uint256S("0x000000000000059f452a5f7340de6682a977387c17010ff6e6c3bd83ca8b1317")},
                {210000, uint256S("0x000000000000048b95347e83192f69cf0366076336c639f9b7228e9ba171342e")},
                {216116, uint256S("0x00000000000001b4f4b433e81ee46494af945cf96014816a4e2370f11b23df4e")},
                {225430, uint256S("0x00000000000001c108384350f74090433e7fcf79a606b8e797f065b130575932")},
                {250000, uint256S("0x000000000000003887df1f29024b06fc2200b55f8af8f35453d7be294df2d214")},
                {279000, uint256S("0x0000000000000001ae8c72a0b0c301f67e3afca10e819efa9041e458e9bd7e40")},
                {295000, uint256S("0x00000000000000004d9b4ef50f0f9d686fd69db2e03af35a100370c64632a983")},
            }
        };

Что это за значения находятся в структуре checkpointData?
Если я буду делать свой тестовый ABCCoin, то что мне в свою структуру checkpointData поместить?
пока просто удалите их. Потом будете уже свои значения ставить. В консоли есть команда generate, с помощью которой сам кошель генерирует заданное число блоков, ее просто нужно активировать , там будет подсказка как. вообще, в коде все подсказки есть, нужно искать. Qt creator надеюсь используете?

В инструкции было NetBeans, я и пытался использовать NetBeans, но попробую Qt creator.

А что мне так оставить
Code:
        checkpointData = {
            {
            }
        };
или вообще только ограничиться декларацией checkpointData в .h файле?
Code:
CCheckpointData checkpointData;

А потом какие пары помещать в checkpointData?

Для чего блоки генерировать, чтобы транзакции прошли?


Title: Re: Собрал 0.13.0 из исходников
Post by: ligor on December 20, 2018, 04:50:46 PM

В инструкции было NetBeans, я и пытался использовать NetBeans, но попробую Qt creator.

А что мне так оставить
Code:
        checkpointData = {
            {
            }
        };
или вообще только ограничиться декларацией checkpointData в .h файле?
Code:
CCheckpointData checkpointData;

А потом какие пары помещать в checkpointData?

Для чего блоки генерировать, чтобы транзакции прошли?

Ну как какие? Что такое checkpoint? Контрольные точки. Вот например блок 11111 Биткоина что в исходнике: https://www.blockchain.com/btc/block/0000000069e244f73d78e8fd29ba2fd2ed618bd6fa2ee92559f542fdb26e7c1d  Вот свои туда и будете писать. Я оставлял

Code:
        checkpointData = {
            {
            }
        };

Quote
Для чего блоки генерировать, чтобы транзакции прошли?
- а для чего еще они нужны?

Для активации genetate в bitcoin.conf (или аналогичный) нужно вписать строки
deprecatedrpc=generate

Не знаю как в NetBeans, но в QT мне удобно отлаживать код. Вспомнил про

Quote
Кошелек это bitcoin-qt? но у меня он вроде как запускается только сам кошелек не появляется
- вот для таких случаев отладчик и пригодится. Тем более формочки именно в QT и создавались.

Кстати, не запускаться может из-за того что не поменяли проверку в Assert, например https://github.com/bitcoin/bitcoin/blob/cb52cee29d0d8be062c22e59299b8e332da340c5/src/chainparams.cpp#L113 и других местах. Кстати, генезисы еще и для тестовой и регсетей нужны.


Title: Re: Собрал 0.13.0 из исходников
Post by: MickNich on December 21, 2018, 04:36:39 PM
добавил в качестве инструкции в Лучшие инструкции по крипте на форуме (https://bitcointalk.org/index.php?topic=4710373.msg42527899#msg42527899), раздел -Кошельки и способы хранения.
А зачем вы неработающую инструкцию добавили?
~
Я пробовал собрать как описано выше и у меня не получилось собрать 13 и 12 версию по этой инструкции. ~

~, но 17 версию так собрать получилось.

Сами себе противоречите. Затем и добавил, тем более автор дает ссылку для компиляции новых  версий, к сожалению там описание на инглише, поэтому добавил эту инструкцию, в умелых руках все получается. ;)
А вы сначала сами попробуйте собрать старые версии по этой инструкции а потом пишите.
По этой инструкции у меня собирается 17 версия, а старые 12 и 13 нет.



Немного изменил исходники и собрал, но когда запускаю  ./bitcoin-qt из папки /usr/local/bin то не появляется кошелек, что еще надо запустить?
ps показывает что есть процесс 0 S  1000  28002   2553  0  80   0 - 125680 futex_ pts/1   00:00:00 bitcoin-qt



Title: Re: Собрал 0.13.0 из исходников
Post by: progof on January 05, 2019, 03:21:56 PM
Столкнулся с ошибкой, клиент работает исправно, но в вкладке "Помощь >> О программе Bitcoin Core" появляется ошибка:

Code:
Runaway exception Произошла неисправимая ошибка. bitcoin не может безопасно продолжать работу и будет закрыт. 

Возможно кто-то знает как ее решить?  :)


Title: Re: Собрал 0.13.0 из исходников
Post by: BCP_Dev on June 18, 2019, 11:30:04 AM
Вы пытаетесь 0.12 версию собрать?
Там нужен более серьезный бубен, я боюсь не смогу вам помочь, хотя сам как-то собираю... Но каждый раз сам не могу запомнить точную последовательность действий ((

Мануал в шапке, работает для версии 0.13 и выше.

Да 0.12, вы писали в своем первом посте если делать сборку версии 0.13, то придется делать форк какого-то манера и я взял версию 0.12 чтобы после компиляции получить все по дефолту

Ну когда я писал первый пост, 0.12 нормально собиралась по этой инструкции. Сейчас она просто так не собирается. Так что если в форке нужен майнинг кошельком, то нужно танцевать с бубном ((
никаких особо тяжких танцев с бубном не нужно, достаточно заменить 3 строку в файле qt.mk (путь: /depends/packages/) $(package) _download_path =http://download.qt.io/official_releases/qt/5.5/$($(package)_version)/submodules
на
$(package)_download_path=http://download.qt.io/archive/qt/5.5/$($(package)_version)/submodules
и все работает.


Title: Re: Собрал 0.13.0 из исходников
Post by: n00by on June 18, 2019, 07:01:40 PM
никаких особо тяжких танцев с бубном не нужно

ничего себе ты копнул глубоко. аж полугодовалую тему заставил всплыть.
тут уже вообще половина ветки неактуальна, достаточно глянуть мануал разрабов


Title: Re: Собрал 0.13.0 из исходников
Post by: BCP_Dev on June 19, 2019, 09:58:18 AM
никаких особо тяжких танцев с бубном не нужно

ничего себе ты копнул глубоко. аж полугодовалую тему заставил всплыть.
тут уже вообще половина ветки неактуальна, достаточно глянуть мануал разрабов
ну, вдруг кому понадобится со встроенным майнером )))


Title: Re: Собрал 0.13.0 из исходников
Post by: fatnet on June 19, 2019, 10:50:53 AM
дак создай репозиторию и закинь ее в снап, чтоб все в лучшем виде было


Title: Re: Собрал 0.13.0 из исходников
Post by: fatnet on June 23, 2019, 06:07:27 PM
а кстати, майнится ли он независимо, и майнится ли вообще


Title: Re: Собрал 0.13.0 из исходников
Post by: SteepPepper on June 30, 2019, 04:41:32 PM
Скажите плиз. тестил майнеры с корэ 12. cpu-майнеры работают. GPU-ругаются на JSON. Разница в исходниках майнеров только в том что в cpu-майнерах внедрен каталог compat с jansson (во всех). А в gpu - майнерах (во всех) используется установленный в системе. Может от этого зависить принципиальная неработоспособность gpu майнеров в соло. пипец как заговор какойто. я форк хочю протетсить...

Подсакжите плис в общих чертах. как внедрить исходники билиотект в сорцы майнера. так чтобы он собирал свои а не юзал системные либы. куда копать в autoconf/configure ??? может такое внедрение довольно просто? инфа какаято безсистемная по этой системе сборки...


Title: Re: Собрал 0.13.0 из исходников
Post by: SteepPepper on June 30, 2019, 10:32:29 PM
оказалось дело не форматах jansson! Пипец это какойто заговор. майнеры с поддержкой gpu не принимаю версию блока 0.12.1.0 а cpu-майнеры легко. бред! автор bfgminer рекомендует патчить кошелек для соло майнинга для корэ 0.12.1.0. Нифига не понимаю... а че для cpu-майнеров не надо?? типа в кошельке работает майнер значит и внешние пусть работают. а все остальные варианты - сговоримся и выпилим из инета??


Title: Re: Собрал 0.13.0 из исходников
Post by: A-Bolt on July 01, 2019, 01:12:40 PM
майнеры с поддержкой gpu не принимаю версию блока 0.12.1.0 а cpu-майнеры легко.

Да ну, бред какой-то. Что такое версия блока 0.12.1.0?
Всё проще. Если майнер поддерживает протокол getblocktemplate (GBT), значит его можно подключать напрямую к кошельку.

cgminer-3.3.1 (именно эта версия!) поддерживает, можете попробовать.


Title: Re: Собрал 0.13.0 из исходников
Post by: SteepPepper on July 01, 2019, 02:37:14 PM
майнеры с поддержкой gpu не принимаю версию блока 0.12.1.0 а cpu-майнеры легко.

Да ну, бред какой-то. Что такое версия блока 0.12.1.0?
Всё проще. Если майнер поддерживает протокол getblocktemplate (GBT), значит его можно подключать напрямую к кошельку.

cgminer-3.3.1 (именно эта версия!) поддерживает, можете попробовать.

Выпилили выпилили! я о чем и говорю!! и исходники и бинарники http://ck.kolivas.org/apps/cgminer/
теперь только по свалкам искать

Сообщаю сразу, что так по всем майнерам для битка.

Автор bfgminer рекомендует патчить само ядро 0.12.1.0 https://github.com/luke-jr/bfgminer/issues/672

ЖЕЕЕСТЬ!!! а cpu майнеры работают все и старые и новые и без всяких патчей. Щас автору bfgminer напишу все что я думаю онем)