Визначення
QR-транзакція — це переказ у мережі Solana, ініційований через сканування QR-коду мобільним гаманцем. Код містить структуровану транзакційну інструкцію (зазвичай у форматі Solana Pay Transfer Request), яку гаманець розкодовує, відображає деталі та підписує після підтвердження користувача.
Як працює
Процес складається з кількох кроків, кожен із яких відбувається на стороні клієнта без посередників:
- Генерація. Відправник або торговець формує транзакційний запит із вказаними параметрами: адреса одержувача, сума, токен (SPL-токен або SOL), необов'язкові поля (reference, memo, label).
- Кодування. Запит серіалізується у форматі URL і вміщується в QR-код. Розмір коду залежить від кількості параметрів — чим їх більше, тим щільніше розташування модулів і тим точніше має бути сканування.
- Сканування. Користувач наводить камеру мобільного гаманця на QR-код. Гаманець розкодовує URL, валідує структуру та витягує транзакційні поля.
- Перевірка. Гаманець показує користувачеві зрозумілу форму: кому, скільки, який токен. На цьому етапі користувач має можливість відхилити транзакцію.
- Підпис і відправка. Після підтвердження гаманець підписує транзакцію приватним ключем і надсилає її в мережу через RPC-вузол.
Приклад
Кав'ярня інтегрує прийом платежів у SOL. На касі стоїть планшет із QR-кодом, який містить такий запит:
solana:7xKXtg2CW87d97TXJSDpbD5jBkheTqA83TZRuJosgAsU?amount=0.05&label=CoffeeShop&message=Latte
Ви відкриваєте мобільний гаманець, скануєте код, бачите «Оплатити 0,05 SOL — CoffeeShop — Latte», підтверджуєте. Транзакція підписується і відправляється в мережу. Кав'ярня отримує підтвердження за кілька секунд.
Типова помилка
Підтвердження без перевірки полів. Користувач сканує QR-код і одразу натискає «Підписати», не перевіряючи адресу одержувача, суму та токен. Якщо код сформовано некоректно або підмінено, кошти підуть на іншу адресу або в іншому обсязі. Завжди перевіряйте три поля: одержувач, сума, токен — до того, як підтвердите транзакцію.
Пов'язані матеріали
Внутрішні переходи:
- Solana Pay — протокол, у рамках якого формуються стандартні QR-запити для транзакцій у мережі Solana.
- Deep link — альтернативний спосіб передати транзакційний запит на мобільний пристрій через гіперпосилання замість QR-коду.