Bitcoin Forum
December 13, 2024, 04:42:21 PM *
News: Latest Bitcoin Core release: 28.0 [Torrent]
 
   Home   Help Search Login Register More  
Pages: « 1 2 [3] 4 5 6 7 8 9 »  All
  Print  
Author Topic: Собрал 0.13.0 из исходников  (Read 36812 times)
kcaterpillar
Full Member
***
Offline Offline

Activity: 173
Merit: 100


View Profile
April 06, 2017, 01:03:40 AM
 #41

Вот интересно, они же (группа разработчиков) собирают готовый икзешник в релизах под винду, они его  же не таким способом собирают через прокладки виртуалбокс-линукс, т.е. кто-то владеет проектом для сборки, но всё покрыто мраком. При том декларируется, что весь код открытый, почему бы не выложить виндовский проект для сборки QT под виндовским компилятором? Интересно, кто из разработчиков автор и ответственный за сборку новых релизов под windows?
kzv (OP)
Legendary
*
Offline Offline

Activity: 1722
Merit: 1287

OpenTrade - Open Source Cryptocurrency Exchange


View Profile WWW
April 06, 2017, 06:43:55 AM
 #42

Самая первая из опубликованных версий биткоина 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.

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

OpenTrade - Open Source Cryptocurrency Exchange
kcaterpillar
Full Member
***
Offline Offline

Activity: 173
Merit: 100


View Profile
April 06, 2017, 08:46:55 AM
 #43

Самая первая из опубликованных версий биткоина 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 под винду у них есть и сейчас, но они не считают важным его публиковать, учитывая сложность сборки и необходимость контроля версий в общем проекте. В принципе такая политика партии понятная и разумная, хотя кому-то может и хотелось бы собрать самому последний свежий релиз под виндой.
amaclin
Legendary
*
Offline Offline

Activity: 1260
Merit: 1019


View Profile
April 06, 2017, 09:00:46 AM
 #44

Спасибо, понятнее теперь. Т.е. проект сборки и QT и bitcoind под винду у них есть и сейчас
Откуда такой вывод? Сидят себе под линухом и компиляют бинарники под винду.
Зачем поддерживать сборку сборку из двух разных систем, если достаточно одной?
kcaterpillar
Full Member
***
Offline Offline

Activity: 173
Merit: 100


View Profile
April 06, 2017, 09:13:25 AM
 #45

Спасибо, понятнее теперь. Т.е. проект сборки и QT и bitcoind под винду у них есть и сейчас
Откуда такой вывод? Сидят себе под линухом и компиляют бинарники под винду.
Зачем поддерживать сборку сборку из двух разных систем, если достаточно одной?

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

Activity: 1260
Merit: 1019


View Profile
April 06, 2017, 09:27:06 AM
 #46

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

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

Activity: 1722
Merit: 1287

OpenTrade - Open Source Cryptocurrency Exchange


View Profile WWW
April 21, 2017, 12:17:07 PM
 #47

По просьбе одного из форумчан, еще немного покопался в истории.
Как возникло ограничение 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 байт.

OpenTrade - Open Source Cryptocurrency Exchange
negeroy
Legendary
*
Offline Offline

Activity: 1148
Merit: 1051


View Profile
April 22, 2017, 12:16:35 AM
 #48

По просьбе одного из форумчан, еще немного покопался в истории.
Как возникло ограничение 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

kzv (OP)
Legendary
*
Offline Offline

Activity: 1722
Merit: 1287

OpenTrade - Open Source Cryptocurrency Exchange


View Profile WWW
April 22, 2017, 02:39:51 PM
 #49

На 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/

OpenTrade - Open Source Cryptocurrency Exchange
negeroy
Legendary
*
Offline Offline

Activity: 1148
Merit: 1051


View Profile
April 22, 2017, 02:55:28 PM
 #50

На 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
kzv (OP)
Legendary
*
Offline Offline

Activity: 1722
Merit: 1287

OpenTrade - Open Source Cryptocurrency Exchange


View Profile WWW
April 22, 2017, 03:05:15 PM
Last edit: April 22, 2017, 05:44:32 PM by kzv
 #51

Интересно.
В письмах пишут, что первый релиз был как минимум раньше чем 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.

OpenTrade - Open Source Cryptocurrency Exchange
neiros
Legendary
*
Offline Offline

Activity: 3556
Merit: 1100



View Profile WWW
May 01, 2017, 07:46:58 AM
 #52

...
3. Установить убунту на виртуальную машину (!версия убунту должна быть 14 или выше!)
...

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


ссылка кривая Roll Eyes http://'https://bitcointalk.org/index.php?topic=1624251.msg16455338#msg16455338'
так правильно https://bitcointalk.org/index.php?topic=1624251.msg16455338#msg16455338

kzv (OP)
Legendary
*
Offline Offline

Activity: 1722
Merit: 1287

OpenTrade - Open Source Cryptocurrency Exchange


View Profile WWW
May 02, 2017, 06:09:03 AM
 #53

...
3. Установить убунту на виртуальную машину (!версия убунту должна быть 14 или выше!)
...

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


ссылка кривая Roll Eyes http://'https://bitcointalk.org/index.php?topic=1624251.msg16455338#msg16455338'
так правильно https://bitcointalk.org/index.php?topic=1624251.msg16455338#msg16455338

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

OpenTrade - Open Source Cryptocurrency Exchange
neiros
Legendary
*
Offline Offline

Activity: 3556
Merit: 1100



View Profile WWW
May 02, 2017, 07:56:29 AM
Last edit: May 02, 2017, 08:19:00 AM by neiros
 #54

Ну я пробовал в 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

 Roll Eyes много файлов собралось. (Для файлов типа «разделяемая библиотека» не установлено каких-либо приложений.)
С непривычки не сразу сообразил как они запускаются - 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 сейчас очень удобно лазить по всем исходникам этой папки.

kzv (OP)
Legendary
*
Offline Offline

Activity: 1722
Merit: 1287

OpenTrade - Open Source Cryptocurrency Exchange


View Profile WWW
May 02, 2017, 08:01:01 AM
 #55

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

OpenTrade - Open Source Cryptocurrency Exchange
longpro098
Full Member
***
Offline Offline

Activity: 196
Merit: 100


View Profile
May 25, 2017, 03:28:53 AM
 #56

Интересно, спасибо. Еще хотелось бы знать какого уровня должен быть навык программирования чтобы не просто повторить, но и понять этапы.
kzv (OP)
Legendary
*
Offline Offline

Activity: 1722
Merit: 1287

OpenTrade - Open Source Cryptocurrency Exchange


View Profile WWW
May 25, 2017, 06:52:11 AM
 #57

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

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

OpenTrade - Open Source Cryptocurrency Exchange
atamat
Full Member
***
Offline Offline

Activity: 207
Merit: 100



View Profile
August 15, 2017, 07:51:56 AM
 #58

интересно
Jeddy445
Newbie
*
Offline Offline

Activity: 13
Merit: 0


View Profile
August 29, 2017, 09:24:23 PM
 #59

братцы ) я наверное совсем не в тему тут со своим насущным... не гнобите сильно ))
но не могли ли бы вы так же подробненько выложить инструшку, как cpu-майнер под монеро собрать? )) ооооочень надо.
professor9
Jr. Member
*
Offline Offline

Activity: 45
Merit: 1


View Profile
September 02, 2017, 04:19:28 PM
 #60

кто нибудь может помочь?
на ubuntu 14.04 запускается даемон и вроде всё отлично, может можно даже исходник скомпилить
на ubuntu 16 не запускается даемон там проблема с libbost, miniupnp итп. собрать из исходников тоже не получается.
нужен бы блок эксплорер, запускал iquidus на 16, вроде запустился, на 14 - нет.
как быть одно к другому не подходит.....
Pages: « 1 2 [3] 4 5 6 7 8 9 »  All
  Print  
 
Jump to:  

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