URI bitcoin по BIP21

Также называют: URI bitcoin:, платёжный URI Bitcoin, BIP 21

Определение

URI bitcoin по BIP21 — это ссылка, начинающаяся с bitcoin: и содержащая биткоин-адрес и необязательные сумму, метку и сообщение; её используют в QR-кодах, чтобы кошельки могли подставить данные платежа.

Что определяет BIP21

BIP21 — это Bitcoin Improvement Proposal, написанный в 2012 году Нильсом Шнайдером и Мэттом Коралло, который определяет схему URI для платежей в биткоинах. URI начинается с bitcoin:, за которым следуют адрес получателя и необязательные параметры запроса. Когда кошелёк сканирует QR-код с таким URI, он открывает экран отправки с уже заполненными адресом и суммой.

Сумма записывается в биткоинах десятичным числом, а не в более мелких единицах. Например, bitcoin:bc1q...?amount=0.001&label=Maple%20Street%20Bakery&message=Order%2042 запрашивает 0,001 BTC. Текстовые значения в label и message записываются в процентной кодировке.

  • amount: запрашиваемая сумма в BTC, десятичным числом
  • label: название получателя
  • message: примечание, описывающее платёж
  • Параметры с префиксом req- кошелёк обязан понимать, иначе он должен отклонить URI

BIP21 в QR-кодах

QR-код может содержать как один адрес, так и полный URI BIP21. Для платежей URI полезнее, потому что он несёт сумму и схему, так что телефон знает, что нужно открыть кошелёк. Некоторые кошельки добавляют и дополнительные параметры, например счёт lightning, но это соглашения, а не часть исходного текста BIP21, и читают их не все кошельки.

Перед отправкой всегда проверяйте адрес, показанный в кошельке. Транзакции Bitcoin нельзя отменить, а код, наклеенный поверх настоящего, может отправить средства другому человеку.

Частые вопросы

В какой единице указана сумма в биткоин-QR-коде?

В URI BIP21 параметр amount указывается в биткоинах (BTC) десятичным числом, например amount=0.001.

Достаточно ли для QR-кода одного биткоин-адреса?

Один адрес работает в большинстве кошельков, но URI bitcoin: может также нести сумму и примечание и сигнализирует, что код — это платёжный запрос.

Источники и стандарты

Все термины