Вернуться   Биткоин Форум > Разработка и Техническое Обсуждение
3 мая 2012, 12:33:01 AM   # 1
 
 
Сообщения: 1428
Цитировать по имени
цитировать ответ
по умолчанию Re: Walk-Thru: Handling "Bitcoin:" URL (продавцы и клиенты)

Взлом Биткоин адресов.
500 Биткоинов взломаны в "мозговом кошельке" с паролем "bitcoin is awesome"
Адрес кошелька: 14NWDXkQwcGN1Pd9fboL8npVynD5SfyJAE
Приватный ключ: 5J64pq77XjeacCezwmAr2V1s7snvvJkuAz8sENxw7xCkikceV6e
подробнее...


Всем кто хочет заработать Биткоины без вложений - рекомендую сайт http://bitcoin-zarabotat.ru
Я хотел бы поделиться всей информацией, которую я накопленная на тему "Bitcoin:" URL, так что разработчики и торговцы не должны быть запуганы ими (я был на первом). Недавно я понял, все это в течение последних двух недель, в то время как интеграция полной поддержки в Оружейный, который теперь доступен в версия 0.75.1 (последний).    

Но я не могу делать все, что эффективно, и мне нужно будет понять это на Mac / OSX тоже. Поэтому я хотел бы поделиться тем, что я узнал, и использовать дискуссию, чтобы заполнить пробелы и сделать это универсальное место для обработки в Bitcoin строки URI. Кроме того, если вы знаете, правильный способ сделать это в Unity и KDE, пожалуйста, дайте мне знать!




Создание и анализ "Bitcoin:" URI Струны:

Это самая легкая часть, которая полностью документирована в BIP 21: URI схемы.   Вот простой пример того, как вы включите его (с помощью моего донорства адреса, конечно!)

Код:

...который выглядит следующим образом:  
Пожертвовать 1.0 BTC к проекту Оружейной!

Для того, чтобы закодировать URI-зарезервированные символы, такие как пробелы, различные знаки препинания и т.д., вам необходимо в процентов схема кодирования.   Она состоит из приема сообщения, которое вы хотите поместить в URL, и заменить все пробелы с "% 20"Все восклицательные с% 21 и т.д. Это все по этой ссылке.

я верить что "метка" Поле для маркировки адрес и что "сообщение" поле предназначено для маркировки сделка.  то есть, если вы нажмете на ссылку, которая имеет метку "Ключ ЕТО в" и беспорядок "Пожертвование получить его шифрования семинар", То "Ключ ЕТО в" будет отображаться в адресной книге, и "Пожертвование получить ..." будет отображаться на гроссбух сделки. Для адресов, которые только когда-либо использовали один раз, я не думаю, что это важно, но это, как я интерпретирую разницу между ними.

Я думаю, что оба эти поля, где реальная стоимость Bitcoin URL-адресов происходит. Торговцы лучше оборудованы, чтобы создать эти записи поля автоматически, и может вставить такие вещи, как Приказу, информация о покупке и т.д. Может быть, даже контактную информацию. Затем пользователь заканчивает с полной историей покупки и документацией в кошельке без каких-либо усилий.

ОБНОВИТЬ: Сейчас кажется, что хорошая идея использовать только "метка =" поле для любой информации, которая должна быть сохранена в бумажнике. Я считаю, что Bitcoin-Qt не спасет "сообщение =" Данные, которые использовали, чтобы быть описана как "сообщение для отображения после URI щелкают" (или что-то типа того). Я буду следить с дэвов об этом.



Регистрация приложения с операционной системой:  Windows:

Это было пугающим сначала, но после некоторых исследований я обнаружил, что это всего лишь несколько ключевых изменений реестра. И, конечно же, я использую Python, так что ничего легко ("импорт _winreg"). Мой питон код делает это в ArmoryQt.py вокруг линии 500.  Следующий процесс выполняется каждый раз, когда Оружейная открытый:

  • Проверьте "HKEY_CLASSES_ROOT \ Bitcoin \ оболочки \ открытая команда \" если она существует, и если он установлен на что-либо (не должно быть изменено)
  • Если нет, проверьте "HKEY_CURRENT_USER \ Software \ Classes \ Bitcoin \ оболочки \ открытой команды \" если она существует, и он настроен на что-нибудь.
  • Если он установлен в другое приложение, всплывающее окно сообщения с просьбой, если они хотят использовать эту программу по умолчанию
  • Если он не установлен или не существует, или пользователь подтверждает, что они хотят, чтобы сделать его по умолчанию, создать и установить все следующие ключи реестра:
Код:
HKEY_CURRENT_USER \ Software \ Classes \ Bitcoin Имя: ""                Окружение: "URL: Протокол Bitcoin"
HKEY_CURRENT_USER \ Software \ Classes \ Bitcoin Имя: "Протокол URL"    Окружение: ""
HKEY_CURRENT_USER \ Software \ Classes \ Bitcoin \ оболочки
HKEY_CURRENT_USER \ Software \ Classes \ Bitcoin \ оболочки \ открыт
HKEY_CURRENT_USER \ Software \ Classes \ Bitcoin \ оболочки \ открытым \ Имя команды: ""                Окружение: "C: \ Путь \ К \ program.exe% 1"
HKEY_CURRENT_USER \ Software \ Classes \ Bitcoin \ DefaultIcon Имя: ""                Окружение: "C: \ Путь \ К \ Program \ appicon.ico"
    Где я помещал имя =="" означает набор параметров по умолчанию для этого ключа (каждая запись имеет значение по умолчанию). Python использует пустую строку для ссылки на него

Не изменяйте объекты HKEY_CLASSES_ROOT - вы не можете сделать это без администратора / корень, во всяком случае. Но я думаю, что это действительно нужно идти под HKEY_CURRENT_USER, который локальные настройки для этого пользователя, и они Можно быть изменены программой пользовательского уровня по загрузке приложения. Тем не менее, вы можете добавить опцию установки, которая модифицирует "HKEY_CLASSES_ROOT" чтобы установить его в качестве значения по умолчанию для всех пользователей (которые пользователь может изменить за свой счет, используя ключи реестра HKEY_CURRENT_USER).

Обновление: Diapolo упоминается способ перезаписи ключей реестра с помощью файла .reg. Это может быть полезно во время установки, хотя это будет перезаписывать ключи независимо от того, что там уже. Я уверен, что есть простой способ расширить это, хотя.




Регистрация приложения с операционной системой:  Linux:

Я получил эту работу в Ubuntu, успешно протестирована на 9.04 до 12.04. Однако это решение, возможно, работает только для Gnome, и 10.10+ (или, возможно, 11.04+), как представляется, ошибка в рабочем столе Unity, который требует корневого исправления. Я не нашел решение на уровне пользователя для версии Unity на базе.

Gnome-Based Desktop

Очень похоже на решение реестра Windows, но с использованием GConf-редактор вместо этого. Я не знаю, как изменить его непосредственно через питон, так что я просто собрал правильные вызовы командной строки и выполнять их с помощью subprocess.Popen (). Проверьте наличие существующего обработчика [уровень пользователя] с помощью команды:

Код:
gconftool-2 --get / настольные / гном / URL-обработчики / Bitcoin / команда
который в моем случае возвращается: "Python /usr/share/armory/ArmoryQt.py% s", Я просто поиск "ArmoryQt.py" на выходе и использовании, чтобы определить ли Оружейной в настоящее время устанавливаются по умолчанию.

Затем, чтобы установить его, я использую следующие вызовы:

Код:
    gconftool-2 -t строка -s / настольные / гном / URL-обработчики / Bitcoin / команда "питон /usr/share/armory/ArmoryQt.py "% s"
    gconftool-2 -s / настольные / гном / URL-обработчики / Bitcoin / needs_terminal ложь -t BOOL
    gconftool-2 -t BOOL -s / настольные / гном / URL-обработчики / Bitcoin / включена правда

Вы можете увидеть, где я это делать в ArmoryQt.py вокруг линии 465.  Если другое приложение установлено, и это первый раз, когда пользователь загрузил Оружейным, я пропускаю окно вопроса ... пользователь имеет достаточно, чтобы беспокоиться о с этой новой программой ...


Unity-Based Desktop (и, возможно, KDE ...?)

Это работает для Ubuntu 11.04+, а также показывает один из способов, чтобы получить ваше приложение в меню приложений пользователя. Обратите внимание, что это решение является исправление корневого уровня: вы не собираетесь быть в состоянии сделать это для на нагрузке, если пользователь не работает приложение с разрешения корня / администратора. Поскольку материал gconftool-2 BORKED в 11.04+. Для установки собственного приложения в меню, необходимо создать на рабочий стол файл: Мой файл armory.desktop выглядит следующим образом:

котировка
[Desktop запись]
Type = Application
Name = Оружейная
Клиент GenericName = Bitcoin
Комментарий = приложение для управления Полнофункциональный Bitcoin кошелек
Категории = Qt; Сеть;
Exec = питон /usr/share/armory/ArmoryQt.py % U
Icon = armoryicon
StartupNotify = ложь
Terminal = ложь
Mimetype = х-схема обработчика / Биткойн

Текст, который выделен жирным оставляется на Ubuntu 9.04-10.10. Он входит в 11.04+, так что он постоянно регистрирует приложение с Ubuntu во время установки. Я считаю, что корень нужно изменить. Конечно, только имея файл на рабочем столе сделал недостаточно, он должен быть установлен:

Код:
XDG-значок-ресурс установки --novendor --context приложения --size 64 /usr/share/armory/img/armory_icon_64x64.png armoryicon
XDG-настольное меню установки --novendor /usr/share/applications/armory.desktop
(Обратите внимание, что .desktop файл использует "Icon = armoryicon", Так что первая строка регистрирует зависимость между строкой "armoryicon" и фактическое местонахождение иконы использовать).

По крайней мере, это можно сделать и поставить в Makefile, и вам не придется иметь дело с дополнительными операциями запуска ... но это вроде груб с другими разработчиками клиента. Я рад принять рекомендации о том, как это можно было бы улучшить. А также поддержка не-Gnome на основе менеджеров рабочего стола.





Регистрация приложения с операционной системой:  Mac OS X:

Я ничего не получил. Я даже не пытался. Может быть, кто-то может просветить меня, в подготовке того, чтобы поддерживать его в Оружейной один день (я обещаю, Оружейная будет поддерживать Mac ... в конце концов).
etotheipi сейчас офлайн Пожаловаться на etotheipi   Ответить с цитированием Мультицитирование сообщения от etotheipi Быстрый ответ на сообщение etotheipi


Как заработать Биткоины?
Без вложений. Не майнинг.


3 мая 2012, 5:42:54 AM   # 2
 
 
Сообщения: 1708
Цитировать по имени
цитировать ответ
по умолчанию Re: Walk-Thru: Handling "Bitcoin:" URL (продавцы и клиенты)

Получил 1806 Биткоинов
Реальная история.





Благодаря etotheipi для этого писать.

Для поддержки не-ASCII этикеток, Multibit использует кодировку UTF8 (который включает в себя ASCII) перед нанесением% кодирования, и я рекомендовал бы это делать. Я попробовал его на русском, китайском, тайском, хинди и арабский, и он прекрасно работает.

Для Mac Bitcoin регистрации все это указано в файле Info.plist. Если вы посмотрите в нижней части этого файла вы можете увидеть, как Multibit указывает, что будет иметь дело с «Bitcoin» ссылки:

https://github.com/jim618/multibit/blob/v0.3/src/app-resources/MultiBit.app/Contents/Info.plist

Это ключ CFBundleURLSchemes.

Вам не нужно делать какой-либо Registration - Mac OS улавливает эти автоматически.
jim618 сейчас офлайн Пожаловаться на jim618   Ответить с цитированием Мультицитирование сообщения от jim618 Быстрый ответ на сообщение jim618

3 мая 2012, 5:25:44 PM   # 3
 
 
Сообщения: 676
Цитировать по имени
цитировать ответ
по умолчанию Re: Walk-Thru: Handling "Bitcoin:" URL (продавцы и клиенты)

Для Windows вы можете использовать это и сохранить его в BC_handler.reg:

Код:
Редактор системного реестра Windows версии 5.00

[HKEY_CLASSES_ROOT \ Bitcoin]
знак равно"URL: Протокол Bitcoin"
"FriendlyTypeName"знак равно"Bitcoin URI"
"Протокол URL"знак равно""

[HKEY_CLASSES_ROOT \ Bitcoin \ DefaultIcon]
знак равно"E: \\ Bitcoin \\ Клиент \\ Bitcoin-qt.exe, 0"

[HKEY_CLASSES_ROOT \ Bitcoin \ оболочки]

[HKEY_CLASSES_ROOT \ Bitcoin \ оболочки \ открыть]

[HKEY_CLASSES_ROOT \ Bitcoin \ оболочки \ открытая команда \]
знак равно"\"E: \\ Bitcoin \\ Клиент \\ Bitcoin-qt.exe \" \"% 1 \""

Вы должны изменить путь ("E: \\ Bitcoin \\ Клиент \\ Bitcoin-qt.exe"), Чтобы соответствовать вашим локальным настройкам.
Diapolo сейчас офлайн Пожаловаться на Diapolo   Ответить с цитированием Мультицитирование сообщения от Diapolo Быстрый ответ на сообщение Diapolo

3 мая 2012, 5:43:38 PM   # 4
 
 
Сообщения: 1428
Цитировать по имени
цитировать ответ
по умолчанию Re: Walk-Thru: Handling "Bitcoin:" URL (продавцы и клиенты)

Для Windows вы можете использовать это и сохранить его в BC_handler.reg:

Код:
Редактор системного реестра Windows версии 5.00

[HKEY_CLASSES_ROOT \ Bitcoin]
знак равно"URL: Протокол Bitcoin"
"FriendlyTypeName"знак равно"Bitcoin URI"
"Протокол URL"знак равно""

[HKEY_CLASSES_ROOT \ Bitcoin \ DefaultIcon]
знак равно"E: \\ Bitcoin \\ Клиент \\ Bitcoin-qt.exe, 0"

[HKEY_CLASSES_ROOT \ Bitcoin \ оболочки]

[HKEY_CLASSES_ROOT \ Bitcoin \ оболочки \ открыть]

[HKEY_CLASSES_ROOT \ Bitcoin \ оболочки \ открытая команда \]
знак равно"\"E: \\ Bitcoin \\ Клиент \\ Bitcoin-qt.exe \" \"% 1 \""

Вы должны изменить путь ("E: \\ Bitcoin \\ Клиент \\ Bitcoin-qt.exe"), Чтобы соответствовать вашим локальным настройкам.

Diapolo,

(1) Что я должен делать с этим файлом? Я видел примеры, как его повсюду, но ничего не сказал, как ... использовать его. Должен ли я открыть реестр и импортировать его? Есть ли команда для выполнения этого файла? И как же я призываю его установки или на нагрузке моей программы. Кроме того, что о проверке существующих приложений за этими ключами, прежде чем перезаписывать их?


(2) Это изменяет HKEY_CLASSES_ROOT, который требует администратора / корень и изменения для всех пользователей. Я считаю, что имеет смысл использовать HKEY_CURRENT_USER \ Software \ Classes \<то же самое дерево> сделать это только для текущего пользователя и администратора не требуется.

etotheipi сейчас офлайн Пожаловаться на etotheipi   Ответить с цитированием Мультицитирование сообщения от etotheipi Быстрый ответ на сообщение etotheipi

3 мая 2012, 5:48:21 PM   # 5
 
 
Сообщения: 676
Цитировать по имени
цитировать ответ
по умолчанию Re: Walk-Thru: Handling "Bitcoin:" URL (продавцы и клиенты)

В Windows это просто открыть файл для добавления записей в реестре.
Для Win >= Vista, ОАК предложит для администратора токена на WinXP вам нужно иметь админ право, да.

Конечно, это предполагает, что вы знаете, что вы делаете, как он заменяет / перезаписывает существующие записи для "Bitcoin:",
Для пользователей Windows, это более удобно, чем то, что вы написали, я думаю, что (как пользователь Windows). Но да, возможно, она должна быть установкой пользователя и не требует админ прав, чтобы добавить это в реестр.

диаметр
Diapolo сейчас офлайн Пожаловаться на Diapolo   Ответить с цитированием Мультицитирование сообщения от Diapolo Быстрый ответ на сообщение Diapolo

3 мая 2012, 5:54:11 PM   # 6
 
 
Сообщения: 1428
Цитировать по имени
цитировать ответ
по умолчанию Re: Walk-Thru: Handling "Bitcoin:" URL (продавцы и клиенты)

В Windows это просто открыть файл для добавления записей в реестре.
Для Win >= Vista, ОАК предложит для администратора токена на WinXP вам нужно иметь админ право, да.

Конечно, это предполагает, что вы знаете, что вы делаете, как он заменяет / перезаписывает существующие записи для "Bitcoin:",
Для пользователей Windows, это более удобно, чем то, что вы написали, я думаю, что (как пользователь Windows). Но да, возможно, она должна быть установкой пользователя и не требует админ прав, чтобы добавить это в реестр.

Я предполагаю, что я запутался. То, что я написал, питон код, который проверяет ключи реестра каждый раз, когда Оружейная открыт, а также устанавливает ключи местных-Потребитель берёт-реестра по умолчанию в Оружейной, или спросить пользователя, если они хотят, чтобы переключиться, если он уже установлен на что-то другое , Я не уверен, что "удобный" означает, что здесь, так как это все под капотом - он ведет себя так же, как Firefox / IE / Chrome - "Оружейный в настоящее время не установлен в качестве стандартного приложения Bitcoin. Вы хотите, чтобы перейти по умолчанию в Оружейной?"

Однако, для тех, кто не использует питон, то REG-файл подход представляется разумным как-то запустить в процессе применения монтаж, но не каждый раз, когда приложение открыто. В основном потому, что он переписывает ключи вслепую, и требует держать файл .reg вокруг, чтобы держать выполнение. И админ вещь, но это уходит, если вы просто переключиться на HKEY_CURRENT_USER \ Software \ Classes \ Bitcoin \ * ключи вместо этого.

etotheipi сейчас офлайн Пожаловаться на etotheipi   Ответить с цитированием Мультицитирование сообщения от etotheipi Быстрый ответ на сообщение etotheipi

3 мая 2012, 6:00:40 PM   # 7
 
 
Сообщения: 676
Цитировать по имени
цитировать ответ
по умолчанию Re: Walk-Thru: Handling "Bitcoin:" URL (продавцы и клиенты)

В Windows это просто открыть файл для добавления записей в реестре.
Для Win >= Vista, ОАК предложит для администратора токена на WinXP вам нужно иметь админ право, да.

Конечно, это предполагает, что вы знаете, что вы делаете, как он заменяет / перезаписывает существующие записи для "Bitcoin:",
Для пользователей Windows, это более удобно, чем то, что вы написали, я думаю, что (как пользователь Windows). Но да, возможно, она должна быть установкой пользователя и не требует админ прав, чтобы добавить это в реестр.

Я предполагаю, что я запутался. То, что я написал, питон код, который проверяет ключи реестра каждый раз, когда Оружейная открыт, а также устанавливает ключи местных-Потребитель берёт-реестра по умолчанию в Оружейной, или спросить пользователя, если они хотят, чтобы переключиться, если он уже установлен на что-то другое , Я не уверен, что "удобный" означает, что здесь, так как это все под капотом - он ведет себя так же, как Firefox / IE / Chrome - "Оружейный в настоящее время не установлен в качестве стандартного приложения Bitcoin. Вы хотите, чтобы перейти по умолчанию в Оружейной?"

Однако, для тех, кто не использует питон, то REG-файл подход представляется разумным как-то запустить в процессе применения монтаж, но не каждый раз, когда приложение открыто. В основном потому, что он переписывает ключи вслепую, и требует держать файл .reg вокруг, чтобы держать выполнение. И админ вещь, но это уходит, если вы просто переключиться на HKEY_CURRENT_USER \ Software \ Classes \ Bitcoin \ * ключи вместо этого.



OMG тогда извините, кажется, что я не читал ваше сообщение thourogh достаточно: - /!

диаметр
Diapolo сейчас офлайн Пожаловаться на Diapolo   Ответить с цитированием Мультицитирование сообщения от Diapolo Быстрый ответ на сообщение Diapolo

3 мая 2012, 6:05:50 PM   # 8
 
 
Сообщения: 1428
Цитировать по имени
цитировать ответ
по умолчанию Re: Walk-Thru: Handling "Bitcoin:" URL (продавцы и клиенты)


OMG тогда извините, кажется, что я не читал ваше сообщение thourogh достаточно: - /!

Не переживайте. Это looooooooong пост.

Edit: На самом деле я не уточнил, что точка в пост. Я добавлю некоторый контекст, чтобы очистить то вверх.
etotheipi сейчас офлайн Пожаловаться на etotheipi   Ответить с цитированием Мультицитирование сообщения от etotheipi Быстрый ответ на сообщение etotheipi

8 мая 2012, 4:19:04 PM   # 9
 
 
Сообщения: 124
Цитировать по имени
цитировать ответ
по умолчанию Re: Walk-Thru: Handling "Bitcoin:" URL (продавцы и клиенты)

Только в случае, если кто-то ищет для реализации Bitcoin URI обработки Java вы будете делать хорошо иметь чтение этого StackExchange вопрос первый http://stackoverflow.com/questions/1947209/registering-a-url-protocol-handler-in-a-multiple-platforms.

Не много пользы для Python, я боюсь. 
garyrowe сейчас офлайн Пожаловаться на garyrowe   Ответить с цитированием Мультицитирование сообщения от garyrowe Быстрый ответ на сообщение garyrowe



Как заработать Биткоины?

Bitcoin Wallet * Portefeuille Bitcoin * Monedero Bitcoin * Carteira Bitcoin * Portafoglio Bitcoin * Bitcoin Cüzdan * 比特币钱包

bitcoin-zarabotat.ru
Почта для связи: bitcoin-zarabotat.ru@yandex.ru

3HmAQ9FkRFk6HZGuwExYxL62y7C1B9MwPW