Я автор библиотеки bitcoinaddress.js , и мне интересно, какой контент лучше всего подходит для биткойнских QR-кодов.
Что должны содержать QR-коды биткойнов (для приложений мобильных кошельков и других сканеров штрих-кода):
Только биткойн-адрес (это единственный адрес, который я сам видел диким)
Ссылка на схему биткойн-URI (BIP 21) с суммой платежа, примечанием к транзакции и т. д.
В настоящее время я реализовал только адрес, так как не знаю, насколько широко распространена поддержка BIP 21 среди мобильных телефонов и мобильных кошельков. Если кто-нибудь может дать мне несколько ответов и указаний на предыдущие исследования по этому вопросу, я был бы признателен.
Я работаю над проектом Биткойн, и я видел следующее:
Coinbase использует последнюю схему, и она полностью распознается приложением BlockChain для iPhone, что позволяет вам запрашивать определенное количество биткойнов, направляемых на определенный адрес.
Coinbase использует (устаревший) API диаграммы Google, и полная строка запроса, которую они используют для создания QR-кода, выглядит следующим образом:
<img width="300" height="300" alt="Chart?cht=qr&chl=bitcoin%3a1k1yfezde2c37pwdevjnin1yc2qbtly6bk%3famount%3d0" src="https://chart.googleapis.com/chart?cht=qr&chl=bitcoin%3A1K1yfEZde2C37pWDevjnin1yc2qBtLy6bk%3Famount%3D0.01&choe=UTF-8&chs=300x300">
Если вы запустите этот URL-адрес src через декодер URL -адресов, вы обнаружите, что он запрашивает 0,01 BTC на адрес 1K1yfEZde2C37pWDevjnin1yc2qBtLy6bk.
Когда вы создаете QR-код, вам не нужно кодировать данные в URL-адресе. Coinbase делает это только потому, что им нужно запросить QR-код у Google через схему адресации URL.
Я создаю свои QR-коды на своем собственном сервере и отображаю их в виде изображений на веб-странице, и я просто использую незакодированные данные.
Я основатель CryptoCoinJS и использую библиотеку для своего программного обеспечения. Это, вероятно, очевидно, при сканировании QR-кодов проверяйте оба. При создании QR-кодов для резервного копирования я просто использовал адрес, а для запросов на оплату использовал схему URI.
Я встретил разработчика Coinpunk в прошлом месяце на встрече, и он обсуждал, как сложно ему было создать генератор QR-кода биткойнов, полностью основанный на HTML5, который будет работать также на устройствах iOS. Судя по всему, ему это удалось.
Поэтому я бы посоветовал изучить его проект с открытым исходным кодом: https://github.com/kyledrake/coinpunk .
Я добавляю больше информации по этому вопросу.
Это формат, предложенный в Главе 2 Биткойнбука (Как работает Биткойн).
bitcoin:1GdK9UzpHBzqzX2A9JFP3Di4weBwqgmoQA?
amount=0.015&
label=Bob%27s%20Cafe&
message=Purchase%20at%20Bob%27s%20Cafe
Components of the URL
A bitcoin address: "1GdK9UzpHBzqzX2A9JFP3Di4weBwqgmoQA"
The payment amount: "0.015"
A label for the recipient address: "Bob's Cafe"
A description for the payment: "Purchase at Bob's Cafe"
И я считаю, что это почти то же самое, что и BIP21 . Спасибо за ссылку.
Микко Отамаа
Микко Отамаа
КрисВ
Алексг
Дайра Хопвуд