Pages:
Author

Topic: I2P & Bitcoin - page 3. (Read 26210 times)

giv
sr. member
Activity: 254
Merit: 251
April 02, 2013, 07:48:46 AM
Чтобы статически слинковаться с библиотекой, она должна быть собрана как статическая библиотека, а не динамическая. Как я понял, в репозитриях дебиана/убунты статически собранной qrencode нет. Если вы уж так сильно хотите слинковаться с ней статически, вам нужно выкачать ее исходники и скомпилировать ее как статическую библиотеку, после этого линковать ее. Но я не понимаю для чего вам статически линковаться с библиотекой, которая по умолчанию есть в репозитариях - это не linux-way. Если этой библиотеки нет на целевой машине, то нужно просто ее поставить.
sr. member
Activity: 316
Merit: 251
April 02, 2013, 07:32:48 AM
Дистрибутив Debian stable. Пакеты libqrencode3 libqrencode-dev точно установлены стандартным методом через apt-get install, бинарник с динамической линковкой собирается нормально. Попробовал выполнить ldconfig, вылезает та же ошибка. Если выполнить ldconfig -v (режим вывода подробностей) среди прочего выводится.
Code:
libqrencode.so.3 -> libqrencode.so.3.1.1
giv
sr. member
Activity: 254
Merit: 251
April 02, 2013, 02:40:58 AM
cannot find -lqrencode
т.е. библиотека просто не установлена

Надо установить саму библиотеку и девелоперский пакет для нее. В убунте так:
Code:
sudo apt-get install libqrencode3 libqrencode-dev
sr. member
Activity: 316
Merit: 251
April 01, 2013, 02:41:27 PM
Пытаюсь собрать бинарник для 32 битного линукса со встроенными библиотеками. Пришлось поправить файл
bitcoin-qt-i2p-master/i2psam/makefile.unix
убрал флаги -m64, после этого обычный бинарник собирается, но если запускать его на другой машине он требует библиотеки.
Если я правильно понял, чтобы получить бинарник с библиотеками нужно использовать опцию RELEASE=1 при выполнении qmake.
Я добавил RELEASE=1 в файл 1.build-unix.sh, но появляется такая ошибка:
Code:
g++ -fstack-protector-all -Wl,-O1 -o bitcoin-qt build/bitcoin.o build/bitcoingui.o build/transactiontablemodel.o build/addresstablemodel.o build/optionsdialog.o build/sendcoinsdialog.o build/addressbookpage.o build/signverifymessagedialog.o build/aboutdialog.o build/editaddressdialog.o build/bitcoinaddressvalidator.o build/alert.o build/version.o build/sync.o build/util.o build/hash.o build/netbase.o build/key.o build/script.o build/main.o build/init.o build/net.o build/irc.o build/bloom.o build/checkpoints.o build/addrman.o build/db.o build/walletdb.o build/clientmodel.o build/guiutil.o build/transactionrecord.o build/optionsmodel.o build/monitoreddatamapper.o build/transactiondesc.o build/transactiondescdialog.o build/bitcoinstrings.o build/bitcoinamountfield.o build/wallet.o build/keystore.o build/transactionfilterproxy.o build/transactionview.o build/walletmodel.o build/bitcoinrpc.o build/rpcdump.o build/rpcnet.o build/rpcmining.o build/rpcwallet.o build/rpcblockchain.o build/rpcrawtransaction.o build/overviewpage.o build/csvmodelwriter.o build/crypter.o build/sendcoinsentry.o build/qvalidatedlineedit.o build/bitcoinunits.o build/qvaluecombobox.o build/askpassphrasedialog.o build/protocol.o build/notificator.o build/qtipcserver.o build/rpcconsole.o build/noui.o build/leveldb.o build/txdb.o build/qrcodedialog.o build/moc_bitcoingui.o build/moc_transactiontablemodel.o build/moc_addresstablemodel.o build/moc_optionsdialog.o build/moc_sendcoinsdialog.o build/moc_addressbookpage.o build/moc_signverifymessagedialog.o build/moc_aboutdialog.o build/moc_editaddressdialog.o build/moc_bitcoinaddressvalidator.o build/moc_clientmodel.o build/moc_guiutil.o build/moc_optionsmodel.o build/moc_monitoreddatamapper.o build/moc_transactiondesc.o build/moc_transactiondescdialog.o build/moc_bitcoinamountfield.o build/moc_transactionfilterproxy.o build/moc_transactionview.o build/moc_walletmodel.o build/moc_overviewpage.o build/moc_csvmodelwriter.o build/moc_sendcoinsentry.o build/moc_qvalidatedlineedit.o build/moc_qvaluecombobox.o build/moc_askpassphrasedialog.o build/moc_notificator.o build/moc_rpcconsole.o build/moc_qrcodedialog.o build/qrc_bitcoin.o    -L/usr/lib -Wl,-Bstatic -Wl,-z,relro -Wl,-z,now -lqrencode -lminiupnpc /home/sandbox/build/bitcoin-qt-i2p-master/bitcoin-qt/src/leveldb/libleveldb.a /home/sandbox/build/bitcoin-qt-i2p-master/bitcoin-qt/src/leveldb/libmemenv.a -lrt -lssl -lcrypto -ldb_cxx -lboost_system -lboost_filesystem -lboost_program_options -lboost_thread -Wl,-Bdynamic -L/home/sandbox/build/bitcoin-qt-i2p-master/bitcoin-qt/../i2psam/ -li2psam -lpthread -lQtGui -lQtCore 
/usr/bin/ld: cannot find -lqrencode
collect2: ld returned 1 exit status
make[1]: *** [bitcoin-qt] Ошибка 1
make[1]: Leaving directory `/home/sandbox/build/bitcoin-qt-i2p-master/bitcoin-qt'
make: *** [sub-bitcoin-qt-make_default-ordered] Ошибка 2
UNABLE TO FIND generated bitcoin-qt
При сборке офф. клиента с опцией RELEASE=1 та же беда.
giv
sr. member
Activity: 254
Merit: 251
March 28, 2013, 03:27:05 PM
Update 28.03.2013
Портированы изменения из официального клиента 0.8.1
Бинарники собраны с поддержкой QR-кодов.
giv
sr. member
Activity: 254
Merit: 251
March 25, 2013, 03:13:53 PM
Тут меня в личке попросили пошагово описать. Повторим кое-что из первого поста.

1) качаем дистрибутив i2p только с официального сайта http://www.i2p2.de/download
2) если не установлена Java, установщик i2p сообщит об этом. Java надо скачать тоже с официального сайта http://java.com/download/
3) ставим сначала Java, потом I2P
4) идем Панель управления - Администрирование - Службы. В списке находим I2P, проверяем, что он запущен (если нет - запускаем).


5) в браузере открываем странцу http://127.0.0.1:7657/configclients. Если страница не открывается, это значит, что i2p не запущен (возможно возникли какие-то ошибки). После того, как страница открылась возле пункта SAM application bridge необходимо нажать кнопку Start, после этого поставить галочку в столбце Run at Startup?, потом нажать кнопку Save Client Configuration.

6) если i2p настроен можно запускать биткоин. Открываем командную строку. В винде: Win+R, набрать cmd, нажать Enter. В линуксе, и так понятно))
7) в консоли переходим в директорию, в которую распаковали архив с моими исполняемыми файлами (например, C:\bitcoin)
Code:
cd c:\bitcoin
8 ) запускаем пропатченный клиент с параметром -generatei2pdestination
Code:
bitcoin-qt -generatei2pdestination

9) в появившемся окне видим три поля. И три кнопки для копирования содержимого в буфер обмена. Копируем весь текст из первого поля (можно соответствующей кнопкой).
10) открываем или создаем конфиг-файл для биткоина по адресу указанному здесь же в окне. пишем в него такое содержимое:
Code:
mydestination=<вставляем сюда текст из первого поля>
11) копируем текст из второго и третьего мне в pm, или постим сюда.
12) закрываем биткоин. запускаем снова уже безо всяких параметров. он загружается как обычно.

Готово.
Upd. Тесты показывают, что и с закрытыми портами работает нормально, поэтому убрал лишние картинки и описание того, как открыть порты для i2p.
giv
sr. member
Activity: 254
Merit: 251
March 25, 2013, 12:25:44 PM
Для развития проекта необходимы публичные сиды, т.е. кошельки запущенные в режиме гейта и с постоянным I2P-адресом (IP-адрес при этом может быть динамическим, порт 8333 наружу открывать необязательно, но желательно открыть порт, на котором висит i2p). Если у вас есть возможность держать i2p и пропатченный клиент запущенными, вы окажете огромную помощь проекту, опубликовав здесь или прислав мне в pm ваш i2p-адрес, я его добавлю как сид-ноду в исходниках готовящегося нового релиза. Сумма на запущенном кошельке совершенно не важна! Там может быть даже 0. Главное условие - это запущенный i2p (желательно с открытым портом), и запущенный клиент с постоянным i2p-адресом. Если вы не доверяете моей программе, можете запускать ее в виртуалке или на отдельной машине. Инструкции по настройке и ссылки на исходники и бинарники в первом посте.
sr. member
Activity: 316
Merit: 251
March 23, 2013, 09:45:18 AM
Насчет прогресс бара, это я с линуксом перепутал, это там он другой.
giv
sr. member
Activity: 254
Merit: 251
March 23, 2013, 05:58:50 AM
Сейчас нормально соединяется, хотя ничего не менял. Запускаю всегда с динамическим i2p адресом
Если это вас забанили, то сейчас заработало, потому что сменился i2p-адрес на новый незабаненный. Проверить легко: открываете файл debug.log (он лежит в той же директории, что и wallet.dat), ищите там строку
Code:
us=[NmvTvxvw~tlaUPVZa6jrk9vJ1Nx2ZS8JbfkCkwJMyB7a2VllFrLHPHiUlIDsam-XGwHV2NbAWSTUtaeCW5bYQl~dqVrb7jillVjHTwn~E5YGotqzWc1Sg2GOmWRb60xBCd9pMJYc9e8OQzxeEZFhO4jEaSxr5gvenZ1YxB8qDcXfmaCJ~xFkPag8bIN~OdNW655fB--HMWKIZhmnzN4-mGSFO2ZQBelsafdBIgMuW7aj62Esijg~UKjMN2BuVGHdo7WcyX2ctqxbBkBmUpOo0-nFckWkygqX6hw9DaOpFMmC5xgg35pwet0NoWqtYUxQovV92Xioy~9xoG6X~UsLWAoyey5ePkp2KoxzhMLOT82sA2jAQ47u6lps1RRuTzzTo270SVZtmb5rlGETqvzU22sCrjF4V~53-vTO8sggUmJLlC3TbqF4YQhecTK6eXEviMZ7iHVqZ7eKK3wuf8oFxK1Yw5CnoWxSk2Kg7HMgw~FBhepQyqgZFtWsmmqazTDPAAAA]:

в разное время бывает от 1 до 5 соединений в режиме только i2p - это нормально ?
3-4 - нормально (в i2p пока мало людей).

Если не сложно, напишите пожалуйста как добавить в исходники QR коды.
Если вы собирали моими скриптами, то логично, что у вас получился такой же бинарник как у меня, т.е. без QR-кодов. В исходниках QR-коды уже есть, просто я собирал свои бинарники без библиотеки для работы с ними. awoland правильно все сказал, только если вы для винды собираете, то компилить  библиотеку нужно не g++, а mingw32. Ну и менять мои скрипты для сборки биткоина, или собирать вручную.

Еще в офф. клиенте прогресс бар во время скачивания блоков, тот, что внизу сделан  как то по другому, там лучше видно количество оставшихся блоков.
Прогресс бар я вообще не трогал. Ни одного символа не менял в том коде. Так что поведение отличаться не должно. У меня никаких проблем с прогресс баром нет. Я даже не представляю, как он может отображаться по-другому. Так что вам лучше сделать скриншот - я посмотрю. Также учтите, что если у кошелька мало подключений (1-2), прогресс бар может вообще не отображаться, хотя синхронизация будет идти - это нормальное поведение.

Ну и еще, при использовании офф. клиента, когда в винде разрывается соединение с интернетом, то клиент видит это, и показывает, что связь прервалась, а при восстановлении связи восстанавливает соединения и продолжает синхронизацию. В вашей модификации при разрыве связи количество соединений остается, и при восстановлении коннекта синхронизация не возобновляется.
С соединениями - да, это особенность i2p. Дело в том, что при установке соединения к i2p-адресу, кошелек соединяется не с удаленным хостом (т.к. он просто не знает где тот находится), а с локальным i2p-сервисом. Т.е. сокет открывается на адрес 127.0.0.1. Естественно, при отваливании внешнего интернета соединения с 127.0.0.1 не рвутся, и кошелек будет отображать, что соединения есть. НО! Спустя некоторое время, либо i2p-сервис, видя, что инет отвалился, либо сам кошелек, не получая данные с этих сокетов в течение 60 сек, закроет эти сокеты. Так что при отваливании внешнего инета кошелек будет отображать наличие соединений еще максимум 1 минуту. После этого они все равно закроются. Если интернета нет меньше минуты, нужно просто подождать, пока соединения переустановятся. Это может занять ~10 минут: пока i2p или кошелек поймут, что соедиение уже не актуально, пока переустановят новые и т.д. Если интернета нет больше минуты, соедиения в кошельке не должны отображаться, т.к. кошелек должен сам их закрыть. После появления интернета, кошелек должен сам переподключится, но опять-таки не сразу, а в течение ~10 минут.

В SAM есть неприятный баг, иногда клиент больше не может открыть соединение http://trac.i2p2.i2p/ticket/492. В таком случае требуется перезапуск i2p-сервиса. Но этот баг проявляется крайне редко, у меня за несколько месяцев, он был всего один раз. Возможно, вы столкнулись с ним. Вообще, я обратил внимание, что i2p плохо или не всегда восстанавливает связь после долгого отсутствия интернета или при выходе из спящего режима. Перезапуск i2p-сервиса помогает. Кошелек при этом перезапускать необязательно. Перезапускать сервис лучше из браузера, на странице консоли i2p-роутера слева есть кнопка рестарт. При таком способе перезапуска, переинтеграция с сетью происходит за несколько секунд.

Еще одна особенность I2P, как и всех p2p-технологий, что качество связи сильно зависит от количества узлов, с которыми вы соединены. Поэтому лучше открыть входящие порты для i2p. На странице консоли i2p-роутера слева отображается количество пиров. Если пиров меньше 100 (обычно 10-20), значит ваш i2p-роутер не принимает входящие соединения (порты закрыты). При открытых портах количество пиров быстро становится больше 1000. Качество связи при этом улучшается значительно.
legendary
Activity: 1498
Merit: 1021
Was mich nicht umbringt macht mich stärker [F.N.]
March 23, 2013, 03:41:12 AM
Если не сложно, напишите пожалуйста как добавить в исходники QR коды.
Нужно установить библиотеку (пакет) qtqreader и при сборке bitcoin-qt указать в коммандной строке :
Code:
qmake "USE_QRCODE=1"
sr. member
Activity: 316
Merit: 251
March 23, 2013, 02:56:57 AM
Сейчас нормально соединяется, хотя ничего не менял. Запускаю всегда с динамическим i2p адресом, в разное время бывает от 1 до 5 соединений в режиме только i2p - это нормально ? Я только начинаю изучать линукс и i2p, попробовал собрать бинарник для винды кросс-компиляцией, все делал по инструкции из первого поста, все получилось, бинарник работает. Если не сложно, напишите пожалуйста как добавить в исходники QR коды. Еще в офф. клиенте прогресс бар во время скачивания блоков, тот, что внизу сделан  как то по другому, там лучше видно количество оставшихся блоков. Ну и еще, при использовании офф. клиента, когда в винде разрывается соединение с интернетом, то клиент видит это, и показывает, что связь прервалась, а при восстановлении связи восстанавливает соединения и продолжает синхронизацию. В вашей модификации при разрыве связи количество соединений остается, и при восстановлении коннекта синхронизация не возобновляется.
PS: Все это не срочно, я просто изучаю новые для меня технологии.
giv
sr. member
Activity: 254
Merit: 251
March 22, 2013, 07:42:32 AM
Постараюсь следующий релиз с QR-кодами собрать. Если это срочно, можете сами собрать из моих исходников. Ссылка на исходники есть в первом посте.

Если это ваш i2p-адрес,
Code:
NmvTvxvw~tlaUPVZa6jrk9vJ1Nx2ZS8JbfkCkwJMyB7a2VllFrLHPHiUlIDsam-XGwHV2NbAWSTUtaeCW5bYQl~dqVrb7jillVjHTwn~E5YGotqzWc1Sg2GOmWRb60xBCd9pMJYc9e8OQzxeEZFhO4jEaSxr5gvenZ1YxB8qDcXfmaCJ~xFkPag8bIN~OdNW655fB--HMWKIZhmnzN4-mGSFO2ZQBelsafdBIgMuW7aj62Esijg~UKjMN2BuVGHdo7WcyX2ctqxbBkBmUpOo0-nFckWkygqX6hw9DaOpFMmC5xgg35pwet0NoWqtYUxQovV92Xioy~9xoG6X~UsLWAoyey5ePkp2KoxzhMLOT82sA2jAQ47u6lps1RRuTzzTo270SVZtmb5rlGETqvzU22sCrjF4V~53-vTO8sggUmJLlC3TbqF4YQhecTK6eXEviMZ7iHVqZ7eKK3wuf8oFxK1Yw5CnoWxSk2Kg7HMgw~FBhepQyqgZFtWsmmqazTDPAAAA
то ваш адрес был забанен за Misbehaving, поэтому вы не можете больше соединиться.
sr. member
Activity: 316
Merit: 251
March 22, 2013, 01:36:13 AM
Cегодня перестало соединяться, запускаю в виндовс только в i2p.
Еще сделайте пожалуйста QR коды, как в оф. клиенте.
giv
sr. member
Activity: 254
Merit: 251
March 17, 2013, 03:29:44 PM
Однако интересна причина появления таких сообщений.
legendary
Activity: 3108
Merit: 1358
March 17, 2013, 11:09:08 AM
#99
Подобные сообщения не являются редкостью для публичных нод, неважно в какой они сети.
giv
sr. member
Activity: 254
Merit: 251
March 16, 2013, 02:33:07 PM
#98
Забавный факт. С самого момента публикации моих i2p-адресов для коннекта. Кто-то пытается соединится по этим адресам, но посылает заведомо неверные данные. А после этого молчит. По истечении 60 секунд молчания мой кошелек автоматически закрывает соединение. Потом все повторяется опять. Адреса иногда меняются. В логе кошелька это выглядит так
Code:
....
accepted connection [kwZN4zCBAgbeyAYcANiEO1~1ddvodvdVvWoPKbi75hltkjUiN~YuY124mdA90-XcCim9DDS9La5BhgiDW~812kYbYpMLwcZUSkW7C8HuB5dbq2hOV5WmhqQ0Rh6jZhf-fGlPGsL4SqVQT5E9pBBknq3VYXNgBLNUE87lXIDlEo0tlx-63nCM7sz0XgUCoHyRI--Ry92Cz6xKqj4Ab1ARuHHUnk8~B5jQyISH0EiHOX6fVLsxNJaczsniUyyVhFjX6Ct1IoZDblbqX1of7p5nXYXthHj6UN2QWYrgsgaYnAuH97wdR2eyFg-u0Sdj~d4x8kO0hvSOiHbKI-b8uXNHPXIFMLfUfxaOa6Nza3tbFsJsJBmTPWrSySTJeKTGv5EzyOfn1z97E88T8EZYcmMJUEmKwHqEgDCiEaBygDAu816l~Vxjaw1M1d70UwGmDJBucEmVaM7YWIvNdCOcVij~K5JtgNoy6FVqiK5MRQQ-Lw8wKgYa8EcxCOhGoGF35jXmAAAA]:0


PROCESSMESSAGE MESSAGESTART NOT FOUND

/*около минуты никаких данных с этого адреса не поступает, биткоин-кошелек автоматически закрывает соедиение*/
.....

socket closed
disconnecting node [kwZN4zCBAgbeyAYcANiEO1~1ddvodvdVvWoPKbi75hltkjUiN~YuY124mdA90-XcCim9DDS9La5BhgiDW~812kYbYpMLwcZUSkW7C8HuB5dbq2hOV5WmhqQ0Rh6jZhf-fGlPGsL4SqVQT5E9pBBknq3VYXNgBLNUE87lXIDlEo0tlx-63nCM7sz0XgUCoHyRI--Ry92Cz6xKqj4Ab1ARuHHUnk8~B5jQyISH0EiHOX6fVLsxNJaczsniUyyVhFjX6Ct1IoZDblbqX1of7p5nXYXthHj6UN2QWYrgsgaYnAuH97wdR2eyFg-u0Sdj~d4x8kO0hvSOiHbKI-b8uXNHPXIFMLfUfxaOa6Nza3tbFsJsJBmTPWrSySTJeKTGv5EzyOfn1z97E88T8EZYcmMJUEmKwHqEgDCiEaBygDAu816l~Vxjaw1M1d70UwGmDJBucEmVaM7YWIvNdCOcVij~K5JtgNoy6FVqiK5MRQQ-Lw8wKgYa8EcxCOhGoGF35jXmAAAA]:0
....
legendary
Activity: 1498
Merit: 1021
Was mich nicht umbringt macht mich stärker [F.N.]
March 13, 2013, 02:14:46 AM
#97
Примите поздравления !
giv
sr. member
Activity: 254
Merit: 251
March 12, 2013, 12:01:35 PM
#96
Quote
2013-03-12
Bitcoin in I2P!. The user giv has created a patched I2P BTC client which does work native inside of I2P via the SAM bridge. It does connect via I2P only or via I2P and clearnet connections and can work as a hub this way. Try it!
http://echelon.i2p/btci2p/
giv
sr. member
Activity: 254
Merit: 251
March 10, 2013, 02:53:00 PM
#95
Возможно. Посмотрим.
legendary
Activity: 1120
Merit: 1069
March 10, 2013, 02:49:01 PM
#94
Может просто изучают?
Pages:
Jump to: