163 / 691NWC

Nostr Wallet Connect

Авторизовані запити застосунку до Lightning-гаманця

Nostr Wallet Connect з’єднує застосунок із гаманцем зашифрованими запитами; межі доступу визначає служба гаманця.

Nostr Wallet Connect (NWC) — протокол NIP-47 для віддаленого керування Lightning-гаманцем через ретранслятори Nostr. Вони передають повідомлення, а не самі біткоїни; протокол підходить власному вузлу й кастодіальній службі.

Клієнтський застосунок надсилає запит, служба перевіряє його й викликає платіжний інтерфейс. NWC не визначає, хто зберігає біткоїнові ключі. Власний вузол і кастодіальний гаманець можуть мати однаковий протокол, але різні вимоги довіри й можливості відновлення. [NWC — NIP-47: Core protocol] [NWC — Project overview]

URI містить відкритий ключ служби, ретранслятор і secret — приватний ключ клієнтського з’єднання. Це не seed гаманця, але ним підписують дозволені запити. QR або копія можуть надати доступ іншому застосунку. Окремі ключі зменшують пов’язування різних з’єднань. [NWC — NIP-47: Core protocol]

Публічна подія info оголошує можливості служби; get_info повертає методи конкретного з’єднання. Основні — pay_invoice, make_invoice, lookup_invoice, get_balance і get_info. Історія, keysend та сповіщення є необов’язковими розширеннями. Підтримку й дозвіл перевіряйте окремо: назва методу не означає загальної згоди платити. [NWC — NIP-47: Core protocol] [NWC — Optional specifications] [NWC-02 — Notifications]

Info має kind 13194, запит 23194, відповідь 23195. Тег p указує іншу сторону, e у відповіді — відповідний запит. Клієнт перевіряє підпис, очікуваний ключ служби, зв’язок запиту та result_type. Саме отримання події від ретранслятора не доводить виконання команди. [NWC — NIP-47: Core protocol]

Суми та комісії NIP-47 задані в msat; 1000 msat дорівнюють одному satoshi. Плутанина змінює суму в тисячу разів. Успішний pay_invoice повертає preimage, помилкова відповідь — error. Створення рахунку через make_invoice не означає оплати; lookup_invoice дозволяє дізнатися стан. [NWC — NIP-47: Core protocol]

Поточне узгодження віддає перевагу nip44_v2; nip04 залишено для сумісності, відсутність encryption означає старий режим. Саме NIP-44 не забезпечує forward secrecy. Ретранслятор може бачити типи, теги, ключі з’єднання й час. Основний ключ ідентичності користувача не слід використовувати для NWC. [NWC — NIP-47: Core protocol] [Nostr — NIP-44: Encrypted payloads]

Запити й відповіді NWC — ефемерні події. Недоступний ретранслятор або офлайн-служба можуть втратити повідомлення; може загубитися лише відповідь уже виконаного платежу. Після timeout спершу перевірте стан через lookup_invoice або гаманець. Мовчання не гарантує невдачі, а новий запит не є автоматично безпечним повторенням. [NWC — NIP-47: Core protocol]

Служба може обмежити методи, бюджет чи строк з’єднання та відкликати його ключ. Межі має забезпечувати служба, а не лише екран клієнта. Видалення з’єднання у застосунку може не скасувати дозвіл у гаманці. Відкликання блокує майбутнє використання, але не повертає завершений платіж. [NWC — NIP-47: Core protocol]

Для повної картини прочитайте також Nostr, Lightning Network, BOLT 11, Гаманець, Приватний ключ, Satoshi. На цю статтю також посилаються Nostr, BOLT 11.

DOC · 001NWC — NIP-47: Core protocolСпецифікація ↗DOC · 002NWC — Project overviewПервинне джерело ↗DOC · 003NWC — Optional specificationsСпецифікація ↗DOC · 004Nostr — NIP-44: Encrypted payloadsСпецифікація ↗DOC · 005NWC-02 — NotificationsСпецифікація ↗
Спочатку джерела · Не інвестиційна порада