Pages:
Author

Topic: NovaCoin (scrypt PoW + PoS hybrid) [self-mod] - page 47. (Read 744453 times)

legendary
Activity: 3108
Merit: 1359
P.S. Сборку под OS X собрать попробовал, работает но вывод делает в каком-то непонятном формате. Буду разбираться, почему так происходит.
Опубликовал.

После установки бинарник будет жить по адресу /Applications/getseeds.app/Contents/MacOS/getseeds. Результат тестового запуска (server=1 в novacoin.conf выставлено):

Code:
bash-3.2$ /Applications/getseeds.app/Contents/MacOS/getseeds
Mar 23 22:44:38  getseeds[5070] : Adding 187.101.71.198:7777
Mar 23 22:44:38  getseeds[5070] : Adding 46.146.117.140:7777
Mar 23 22:44:38  getseeds[5070] : Adding 178.159.237.36:7777
Mar 23 22:44:38  getseeds[5070] : Adding 5.189.139.227:7777
Mar 23 22:44:38  getseeds[5070] : Adding 95.31.232.23:7777
Mar 23 22:44:38  getseeds[5070] : Adding 95.181.136.51:7777
Mar 23 22:44:38  getseeds[5070] : Adding 109.190.236.252:7777
Mar 23 22:44:38  getseeds[5070] : Adding 5.104.111.243:7777
Mar 23 22:44:38  getseeds[5070] : Adding 104.40.84.28:7777
Mar 23 22:44:38  getseeds[5070] : Adding 54.201.183.106:7777
Mar 23 22:44:38  getseeds[5070] : Adding 107.170.167.218:7777
Mar 23 22:44:38  getseeds[5070] : Adding 178.22.65.158:7777
Mar 23 22:44:38  getseeds[5070] : Adding 95.128.162.42:7777
Mar 23 22:44:38  getseeds[5070] : Adding 37.187.71.108:7777
Mar 23 22:44:38  getseeds[5070] : Adding 85.113.37.42:7777
Mar 23 22:44:38  getseeds[5070] : Adding 146.0.32.101:7777
Mar 23 22:44:38  getseeds[5070] : Adding 81.200.241.54:7777
Mar 23 22:44:38  getseeds[5070] : Adding 70.163.93.56:7777
Mar 23 22:44:38  getseeds[5070] : Adding 217.15.152.103:7777
Mar 23 22:44:38  getseeds[5070] : Adding 94.180.240.111:7777
Mar 23 22:44:38  getseeds[5070] : Adding 176.9.113.75:7777
Mar 23 22:44:38  getseeds[5070] : Adding 81.200.245.198:7777
Mar 23 22:44:38  getseeds[5070] : Adding 111.221.89.56:7777
Mar 23 22:44:38  getseeds[5070] : Adding 89.254.210.229:7777
Mar 23 22:44:38  getseeds[5070] : Adding 31.134.138.4:7777
Mar 23 22:44:38  getseeds[5070] : Adding 192.95.29.153:7777
Mar 23 22:44:38  getseeds[5070] : Adding 93.95.187.122:7777
Mar 23 22:44:38  getseeds[5070] : Adding 191.237.222.239:7777
Mar 23 22:44:38  getseeds[5070] : Adding 93.72.230.141:7777
Mar 23 22:44:38  getseeds[5070] : Adding 92.246.186.232:7777
Mar 23 22:44:38  getseeds[5070] : Adding 178.137.61.86:7777
Mar 23 22:44:38  getseeds[5070] : Adding 2.26.234.49:7777
Mar 23 22:44:38  getseeds[5070] : Adding 194.24.182.27:7777
Mar 23 22:44:38  getseeds[5070] : Adding 188.0.182.10:7777
Mar 23 22:44:38  getseeds[5070] : Adding 91.232.105.11:7777
Mar 23 22:44:38  getseeds[5070] : Adding 91.230.121.169:7777
Mar 23 22:44:38  getseeds[5070] : Adding 104.46.60.32:7777
Mar 23 22:44:38  getseeds[5070] : Adding 94.101.39.58:7777
Mar 23 22:44:38  getseeds[5070] : Adding 195.98.61.78:7777
Mar 23 22:44:38  getseeds[5070] : Adding 84.200.17.126:7777
Mar 23 22:44:38  getseeds[5070] : Adding 93.185.194.91:7777
Mar 23 22:44:38  getseeds[5070] : Adding 85.25.199.215:7777
Mar 23 22:44:38  getseeds[5070] : Adding 89.254.249.76:7777
Mar 23 22:44:38  getseeds[5070] : Adding 93.78.130.71:7777
Mar 23 22:44:38  getseeds[5070] : Adding 178.19.249.43:7777
Mar 23 22:44:38  getseeds[5070] : Adding 94.23.54.195:8207
Mar 23 22:44:38  getseeds[5070] : Adding 179.60.146.149:7777
Mar 23 22:44:38  getseeds[5070] : Adding 62.152.54.44:7777
Mar 23 22:44:38  getseeds[5070] : Adding 79.134.13.214:7777
Mar 23 22:44:38  getseeds[5070] : Adding 82.200.205.30:7777
bash-3.2$

Не тестировал на чистой системе установку с нуля, но всё должно быть нормально.

P.S. Из консоли дергать необязательно, можно просто ткнуть по значку в папке приложений. Правда, оно тогда просто молча возьмет ноды, впишет их в клиент и всё. В очереди системных сообщений уведомления все равно появиться должны, но немногие знают где это посмотреть. Smiley
legendary
Activity: 3108
Merit: 1359
Почему нет архива со статической линковкой для линукса (как в бтц\лтц)?
Потому что статический блоб со всем своим внутри - это мало того что не UNIX way, так ещё и нелогично. Есть пакеты, которые содержат информацию о своих зависимостях, устанавливаемых и обновляемых пакетным менеджером в последствии. Зачем статическая линковка, ведь в репозиториях мало того что уже есть эти библиотеки, так они в большинстве случаев ещё и установлены уже. Разве что для дистрибутивов, отличных от debian-based... Но этот вопрос можно/нужно решить сборкой rpm'ки в дополнение к deb'ам. И тогда вопросы вроде очередного бага openssl решаются не выпуском нового клиента, а автоматическим обновлением соответствующего пакета системой, как оно и должно быть. Логично же, разве нет? Smiley

Нет, статические блобы-то можно и выкладывать, конечно, но кто потом будет расхлебывать возможные результаты их использования?  Roll Eyes У нас же критичное к консенсусу приложение, а не тетрис. В качестве компромисса можно создать для них на sourceforge каталог с говорящим названием.

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

Зачем тратить время на инструкции, когда можно сделать готовые процессы сборки, например включать совместимость с кроскомпиляции по дополнительному ключу при сборке? Как сбилдить нужные версии библиотек, по сути никогда не меняется.
Как раз об этом сегодня со svost'ом разговаривали. У меня есть набор скриптов автоматической сборки, но он давно не обновлялся. Скорее всего, сведем это всё к предварительно упакованному набору компилятор+зависимости+скрипт, и юзеру тогда для сборки крайнего среза помимо запуска скрипта вообще не потребуется ничего делать. В качестве бонуса у него будет возможность иметь собственные бинарники, без необходимости доверять разработчикам и их подписи.
donator
Activity: 968
Merit: 1002
Несколько вопросов по релизам:
  • Почему нет архива со статической линковкой для линукса (как в бтц\лтц)?
  • Зачем тратить время на инструкции, когда можно сделать готовые процессы сборки, например включать совместимость с кроскомпиляции по дополнительному ключу при сборке? Как сбилдить нужные версии библиотек, по сути никогда не меняется.
P.S. Очень напрягает каждый раз после перехода на новую ветку заново патчить все руками,а перенос комитов крайне криво работает, при большом объеме изменений.
legendary
Activity: 3108
Merit: 1359
а для яблока сделайте плиз
В общем, проверенная схема для макоси такая:

1. Установить питон отсюда.
2. Запустить в командной строке sudo pip3 install python-bitcoinrpc
3. Теперь можно запускать скрипт командой python3 ./getseeds.py.

Можно ещё заменить в первой строчке скрипта путь к питону на /usr/local/bin/python3, тогда можно будет запускать как обычный исполняемый файл, то есть ./getseeds.py.

P.S. Сборку под OS X собрать попробовал, работает но вывод делает в каком-то непонятном формате. Буду разбираться, почему так происходит.
legendary
Activity: 3108
Merit: 1359
Думаю, этот скрипт может быть полезен в некоторых обстоятельствах:

https://github.com/novacoin-project/novacoin/blob/master/contrib/seeds/getseeds.py

Мне в одном месте помогло - есть нода с отсутствием входящих соединений, доступом в инет только через сокс прокси - в итоге 3-4 соединения постоянно, не больше. Можно было конечно в файл novacoin.conf добавить строк с addnode=, но как-то лень было да и за актуальностью следить необходимо.
После скрипта же быстро набралось 16 исходящих, плюс данный скрипт можно добавить в шедулер и периодически получать актуальный список нод.

Перед стартом скрипта устанавливаем зависимости: pip install python-bitcoinrpc

Запуск: python ./getseeds.py

https://github.com/novacoin-project/novacoin/tree/master/contrib/seeds/getseeds

Переделал скрипт немного в сторону упрощения, плюс собрал py2exe:

https://sourceforge.net/projects/novacoin/files/getseeds.exe/download


Бинарник заменен на подписанный.
legendary
Activity: 3108
Merit: 1359
Не убрали, а переместили.
legendary
Activity: 1753
Merit: 1007
во блин, только попробовал  запустить питона, а скрипт с гитхаба убрали
legendary
Activity: 3108
Merit: 1359
Можно собрать app, конечно, но зачем? На яблоке поставить питон в общем-то не является большой проблемой.

https://www.python.org/downloads/mac-osx/

Сегодня соберу в порядке эксперимента.
legendary
Activity: 1753
Merit: 1007
а для яблока сделайте плиз
legendary
Activity: 3108
Merit: 1359
Думаю, этот скрипт может быть полезен в некоторых обстоятельствах:

https://github.com/novacoin-project/novacoin/blob/master/contrib/seeds/getseeds.py

Мне в одном месте помогло - есть нода с отсутствием входящих соединений, доступом в инет только через сокс прокси - в итоге 3-4 соединения постоянно, не больше. Можно было конечно в файл novacoin.conf добавить строк с addnode=, но как-то лень было да и за актуальностью следить необходимо.
После скрипта же быстро набралось 16 исходящих, плюс данный скрипт можно добавить в шедулер и периодически получать актуальный список нод.

Перед стартом скрипта устанавливаем зависимости: pip install python-bitcoinrpc

Запуск: python ./getseeds.py

https://github.com/novacoin-project/novacoin/tree/master/contrib/seeds/getseeds

Переделал скрипт немного в сторону упрощения, плюс собрал py2exe:

https://sourceforge.net/projects/novacoin/files/getseeds.exe/download

FAN
legendary
Activity: 2716
Merit: 1020
и я на версии 0.5.6 уже нормальный блок поймал. Так что полёт нормальный
Тем, кто обновлял клиент до 20 числа и оставил его работать с тех пор, рекомендуется перезапустить демон. Smiley

Причина проста, список шаблонов транзакций составляется при запуске клиента и остается без изменений до завершения процесса. По этой причине экземпляр 0.5.6, запущенный до 20 числа, будет вести себя идентично 0.5.5, не включая транзакции нового формата в создаваемые блоки. Для самого обладателя клиента в этом ничего страшного нет, но может причинить неудобства юзерам, отправляющим транзакции на составные адреса. Полагаю, это вопрос некоторого времени, когда достаточное количество узлов будет поддерживать транзакции нового типа.


поперезапускал все ноды...

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

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

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

кагдато, еще в прошлом веке умели кина делать которые всегда можно с удовольствием смореть , ну или хотя бы слушать в дреме Smiley
sr. member
Activity: 461
Merit: 252
Думаю, этот скрипт может быть полезен в некоторых обстоятельствах:

https://github.com/novacoin-project/novacoin/blob/master/contrib/seeds/getseeds.py

Мне в одном месте помогло - есть нода с отсутствием входящих соединений, доступом в инет только через сокс прокси - в итоге 3-4 соединения постоянно, не больше. Можно было конечно в файл novacoin.conf добавить строк с addnode=, но как-то лень было да и за актуальностью следить необходимо.
После скрипта же быстро набралось 16 исходящих, плюс данный скрипт можно добавить в шедулер и периодически получать актуальный список нод.

Перед стартом скрипта устанавливаем зависимости: pip install python-bitcoinrpc

Запуск: python ./getseeds.py
legendary
Activity: 3108
Merit: 1359
Думаю, этот скрипт может быть полезен в некоторых обстоятельствах:

https://github.com/novacoin-project/novacoin/blob/master/contrib/seeds/getseeds.py
legendary
Activity: 3108
Merit: 1359
обычного перезапуска кошелька будет достаточно, чтобы демон перезапустился?
Демон - это не какая-то особая часть чего-то, а просто novacoind, версия кошелька без интерфейса. Обычно используется на одноплатных компьютерах и серверах, но некоторые держат и на домашнем ПК. Если специально не ставился, то его не будет.

Соответственно, графической версии всё вышесказанное тоже касается, т.к. работают они в общем-то одинаково. Естественно, что если зачем-то на компьютере установлены novacoind и novacoin-qt одновременно, то они будут работать независимо, но вряд ли кто будет всерьез использовать такую конфигурацию.
legendary
Activity: 1753
Merit: 1007
обычного перезапуска кошелька будет достаточно, чтобы демон перезапустился? или ещё какие то процедуры требуются?
legendary
Activity: 3108
Merit: 1359
и я на версии 0.5.6 уже нормальный блок поймал. Так что полёт нормальный
Тем, кто обновлял клиент до 20 числа и оставил его работать с тех пор, рекомендуется перезапустить демон. Smiley

Причина проста, список шаблонов транзакций составляется при запуске клиента и остается без изменений до завершения процесса. По этой причине экземпляр 0.5.6, запущенный до 20 числа, будет вести себя идентично 0.5.5, не включая транзакции нового формата в создаваемые блоки. Для самого обладателя клиента в этом ничего страшного нет, но может причинить неудобства юзерам, отправляющим транзакции на составные адреса. Полагаю, это вопрос некоторого времени, когда достаточное количество узлов будет поддерживать транзакции нового типа.
legendary
Activity: 3108
Merit: 1359


Расширенных приватных ключей у нас нет в их понимании, соответственно параметры public и private не имеют смысла для NVC.

Остальное лежит в base58.h и base58.cpp.

Code:
        PUBKEY_ADDRESS = 8,
        SCRIPT_ADDRESS = 20,

Code:
 SetData(128 + (fTestNet ? CBitcoinAddress::PUBKEY_ADDRESS_TEST : CBitcoinAddress::PUBKEY_ADDRESS), &vchSecret[0], vchSecret.size());

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

P.S. Сейчас это проблемой не является, поскольку существующие клиенты считают транзакции на такие адреса нестандартными и по умолчанию их не обрабатывают. Но это изменится в следующем релизе.

Значения в enum это вроде не то, что надо. По крайней мере в биткоине эти значения - просто индексы, по которым находится то, что нужно.

https://github.com/bitcoin/bitcoin/blob/master/src/chainparams.cpp#L114
Code:
        base58Prefixes[PUBKEY_ADDRESS] = std::vector(1,0);
        base58Prefixes[SCRIPT_ADDRESS] = std::vector(1,5);
        base58Prefixes[SECRET_KEY] =     std::vector(1,128);

Вот эти числа: 0, 5, 128. Они должны быть у всех форков, как мне кажется.
Нашел библиотеку, где эти значения есть для PPC и еще нескольких форков, но Новы там тоже нет (( https://github.com/cryptocoinjs/coininfo/tree/master/lib/coins


Эти значения именно то, что надо. Только последнее не 128, а 128 + 8.

https://github.com/CryptoManiac/bitaddress.org/commit/8b437b3a156b79550328414ca7c06151e8e1239d
legendary
Activity: 3108
Merit: 1359

P.S. Сейчас это проблемой не является, поскольку существующие клиенты считают транзакции на такие адреса нестандартными и по умолчанию их не обрабатывают. Но это изменится в следующем релизе.

на когда готовиться к следующему релизу?
В ближайшие пару-тройку дней, или неделю. Похоже, что 0.5.6 будет самым короткоживущим релизом в плане актуальности.
legendary
Activity: 1753
Merit: 1007
и я на версии 0.5.6 уже нормальный блок поймал. Так что полёт нормальный
legendary
Activity: 1912
Merit: 1020
Утром собрал с гитхаба последнюю версию, блоки вроде уверенно генерируются.
Pages:
Jump to: