163 / 691NWC

Nostr Wallet Connect

Oprávněné požadavky aplikace na Lightning peněženku

Nostr Wallet Connect propojuje aplikaci s peněženkou pomocí šifrovaných požadavků; rozsah přístupu určuje služba peněženky.

Nostr Wallet Connect (NWC) je protokol NIP-47 pro vzdálené ovládání Lightning peněženky přes Nostr relay. Relay přenáší zprávy, nikoli samotné bitcoiny; protokol může používat vlastní uzel i úschovná služba.

Klientská aplikace posílá požadavek, služba peněženky jej ověřuje a volá své platební rozhraní. NWC samo neurčuje, kdo drží bitcoinové klíče. Připojení k vlastnímu uzlu a k úschovné peněžence proto může používat stejný protokol, ale liší se důvěrou i možností obnovy. [NWC — NIP-47: Core protocol] [NWC — Project overview]

Spojovací URI obsahuje veřejný klíč služby, relay a secret: soukromý klíč klientského spojení. Není to seed peněženky, přesto umožňuje podepisovat autorizované požadavky. Jeho QR či kopie může předat přístup jiné aplikaci. Oddělené klíče pro jednotlivá spojení omezují jejich vzájemné provázání. [NWC — NIP-47: Core protocol]

Veřejná událost info oznamuje schopnosti služby; get_info vrací metody dostupné konkrétnímu spojení. Základ zahrnuje pay_invoice, make_invoice, lookup_invoice, get_balance a get_info. Historie, keysend či notifikace patří do volitelných rozšíření. Podporu a oprávnění proto ověřujte zvlášť; existence názvu metody není univerzální platební souhlas. [NWC — NIP-47: Core protocol] [NWC — Optional specifications] [NWC-02 — Notifications]

Info používá kind 13194, požadavek 23194 a odpověď 23195. Značka p označuje protistranu, značka e v odpovědi odkazuje na požadavek. Klient kontroluje podpis, očekávaný klíč služby, vazbu požadavku a result_type. Pouhé přijetí události od relay není důkazem vykonání příkazu. [NWC — NIP-47: Core protocol]

Částky a poplatky NIP-47 jsou v msat; 1000 msat odpovídá jednomu satoshi. Záměna jednotek tedy mění částku tisíckrát. Úspěšné pay_invoice vrací preimage, chybová odpověď uvádí error. Vytvoření faktury přes make_invoice samo neznamená zaplacení; stav lze zjišťovat přes lookup_invoice. [NWC — NIP-47: Core protocol]

Současné vyjednání preferuje nip44_v2; starší nip04 zůstává pro kompatibilitu a chybějící encryption tag znamená starší režim. NIP-44 samo neposkytuje forward secrecy. Relay může vidět druhy událostí, značky, spojovací klíče a časování. Hlavní identitní klíč uživatele se pro NWC spojení používat nemá. [NWC — NIP-47: Core protocol] [Nostr — NIP-44: Encrypted payloads]

NWC požadavky a odpovědi používají pomíjivé události. Nedostupný relay nebo offline služba mohou zprávu ztratit, stejně jako může klient ztratit jen odpověď už provedené platby. Po timeoutu nejprve ověřte stav přes lookup_invoice či peněženku. Nepovažujte ticho za jistý neúspěch a nový požadavek za automaticky bezpečné opakování. [NWC — NIP-47: Core protocol]

Služba může spojení omezit metodami, rozpočtem či platností a jeho klíč odvolat. Tyto meze musí kontrolovat služba, ne pouze obrazovka klienta. Smazání spojení v aplikaci nemusí zrušit oprávnění na straně peněženky. Odvolání blokuje budoucí použití, ale nevrací již dokončenou platbu. [NWC — NIP-47: Core protocol]

Pro nejúplnější obraz čtěte toto heslo společně s Nostr, Lightning Network, BOLT 11, Bitcoinová peněženka, Privátní klíč, Satoshi. Opačným směrem na něj odkazují také Nostr, BOLT 11.

DOC · 001NWC — NIP-47: Core protocolSpecifikaceDOC · 002NWC — Project overviewPrimární zdrojDOC · 003NWC — Optional specificationsSpecifikaceDOC · 004Nostr — NIP-44: Encrypted payloadsSpecifikaceDOC · 005NWC-02 — NotificationsSpecifikace
Primární zdroje · Nejde o investiční doporučení