Что определяет 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 нельзя отменить, а код, наклеенный поверх настоящего, может отправить средства другому человеку.