Nostr Wallet Connect (NWC) wyjaśnione
NWC łączy twojego klienta Nostr z portfelem Lightning. Pozwala twojemu feedowi wysyłać zapy bez wbudowanego portfela. Jak działa parowanie.
Przed Nostr Wallet Connect każdy klient Nostr musiał zbudować własną integrację portfela lub wypuścić się bez funkcjonalności zapów. To prowadziło do dwóch złych wyników: klienty z zapami były zmuszone uruchamiać portfel, a klienty, które nie chciały uruchamiać portfela, nie mogły wspierać zapów.
NWC rozwiązał to oddzielając portfel od klienta. Portfel to osobna aplikacja; klient wysyła żądania wydawania przez sam Nostr; wszyscy wygrywają.
Jeśli używasz zapów na jakimkolwiek kliencie bez wbudowanego portfela, używasz NWC, niezależnie od tego, czy o tym myślisz. Ten przewodnik wyjaśnia mechanizm, aby rozumieć, co robi łańcuch połączenia, jakie są jego limity i jak go wycofać.
TL;DR. NWC to protokół (NIP-47) umożliwiający klientowi Nostr prośbę do portfela Lightning o opłacenie faktur. Parowanie to łańcuch, który wygląda jak
nostr+walletconnect://.... Łańcuch daje uprawnienie wydawania aż do konfigurowalnego budżetu. Każdy portfel może mówić NWC do każdego klienta świadomego NWC, więc parowanie działa na całym ekosystemie.
Kiedy będziesz gotowy, odbierz adres @nostr.blog
Problem przed NWC
Przed NWC klient Nostr, który chciał wspierać zapy, miał trzy złe opcje.
Opcja 1: Wbudować portfel w klienta. Zarządzać kanałami Lightning, obsługiwać przechowywanie, być firmą portfelową. Większość klientów nie mogła sobie pozwolić na inżynierię.
Opcja 2: Poproś użytkownika o jego nsec i dane logowania portfela. Podpisz zdarzenia po stronie klienta i wyślij żądania opłacenia faktur bezpośrednio do API portfela. To oznaczało, że klient widział klucz API portfela, co jest koszmarem bezpieczeństwa.
Opcja 3: Nie wspierać zapów. Niektóre klienty wybrały tę ścieżkę, co uczyniło je mniej użytecznym.
NWC oddziela portfel od klienta, używając samego Nostr jako kanału sygnalizacyjnego. Klient nigdy nie widzi poświadczeń portfela. Portfel nigdy nie musi nic wiedzieć o Nostr, poza tym jak odbierać żądania.
Jak działa protokół
NWC jest zdefiniowany w NIP-47. Przepływ:
- Portfel generuje łańcuch połączenia. Zawiera adres URL przekaźnika Nostr, klucz publiczny, na którym portfel słucha, i wspólny tajny do szyfrowania.
- Użytkownik wkleja łańcuch do klienta. Lub skanuje kod QR. Tak czy inaczej, klient teraz wie, gdzie wysyłać żądania.
- Klient wysyła zaszyfrowane żądania wydawania przez Nostr. "Opłać tę fakturę za 1000 satów" trafia do zaszyfrowanego zdarzenia na klucz publiczny portfela na określonym przekaźniku.
- Portfel otrzymuje żądanie i opłaca. Jeśli kwota jest w ramach budżetu połączenia, portfel natychmiast opłaca fakturę.
- Portfel odpowiada wynikiem. Zaszyfrowane zdarzenie Nostr z powrotem do klienta: płatność powiodła się lub nie, oto dowód.
Całe to dzieje się w mniej niż sekundę. Klient nigdy nie obsługuje Lightning bezpośrednio; po prostu rozmawia z Nostr. Portfel nigdy nie musi rozumieć funkcji społecznych Nostr; po prostu słucha żądań wydawania.
Co zawiera łańcuch połączenia
Typowy łańcuch NWC:
nostr+walletconnect://abc123def456...?relay=wss://relay.example.com&secret=xyz789...
Trzy części.
Klucz publiczny. Tożsamość słuchająca portfela na Nostr. Klient wysyła żądania do tego klucza publicznego.
Przekaźnik. Gdzie portfel słucha. Klient i portfel oba łączą się z tym przekaźnikiem, aby wymieniać wiadomości.
Tajny. Używany do szyfrowania wiadomości między klientem a portfelem, aby przekaźnik widział tylko szyfrogram.
Razem te trzy wartości dają klientowi uprawnienie do wysyłania poleceń wydawania do portfela. Przekaźnik to skrzynka; klucz publiczny to adres; tajny to zamek.
Budżet i uprawnienia
Każde połączenie NWC ma limity ustawione przez portfel podczas tworzenia połączenia.
- Maksymalna kwota na płatność. Zwykle 10 000 do 100 000 satów w zależności od tego, co ustawiłeś. Wydanie więcej wymaga świeżej zgody.
- Maksymalna kwota na dzień/tydzień/miesiąc. Budżet kroczący, który uzupełnia się zgodnie z harmonogramem.
- Data wygaśnięcia. Niektóre portfele automatycznie wygasają połączenia po okresie; inne pozostawiają je otwarte do czasu wycofania.
- Dozwolone metody. Niektóre portfele pozwalają udzielić tylko uprawnień "opłać fakturę", odmawiając "sprawdź saldo" lub "wypisz transakcje".
Budżet oznacza, że nawet jeśli łańcuch połączenia wycieknie, szkoda jest ograniczona. Atakujący nie może opróżnić całego portfela; mogą wydawać aż do budżetu, po czym portfel odmawia dalszych żądań, aż do czasu uzupełnienia limitu lub wygenerowania nowego połączenia.
Konfiguracja NWC, krok po kroku
Konkretny przepływ dla typowego użytkownika parującego portfel z klientem Nostr.
- Otwórz swój portfel Lightning. Wallet of Satoshi, Phoenix, Alby Hub, Zeus, lub dowolny portfel wspierający NWC.
- Znajdź ustawienia NWC. Szukaj "Połączeń", "Nostr Wallet Connect" lub "Aplikacji" w menu ustawień. Każdy portfel umieszcza to w nieco innym miejscu.
- Utwórz nowe połączenie. Daj mu nazwę, aby pamiętać, dla której aplikacji jest. Ustaw budżet.
- Skopiuj wygenerowany łańcuch NWC. Lub uzyskaj kod QR.
- Otwórz swojego klienta Nostr. Przejdź do ustawień, znajdź "Portfel Lightning" lub "Ustawienia zapu".
- Wklej łańcuch NWC lub zeskanuj kod QR. Klient testuje połączenie.
- Sukces. Przyciski zapu się zapalają; twój następny zap przechodzi przez sparowany portfel.
Jeśli klient pokazuje "connection failed" po parowaniu, najczęstszą przyczyną jest niezgodność przekaźnika (przekaźnik w łańcuchu NWC to taki, do którego klient nie może się dotrzeć) lub zapora blokująca połączenia WebSocket.
Dlaczego to bije wbudowany portfel
Trzy rzeczywiste zalety NWC nad wbudowanymi portfelami.
Przenośność. Możesz zmienić klientów Nostr bez zmiany portfeli. Twoje saldo, historia i kanały pozostają na miejscu; nowy klient po prostu paruje się z tym samym portfelem poprzez nowe połączenie NWC.
Specjalizacja. Deweloperzy portfeli skupiają się na infrastrukturze Lightning; deweloperzy klientów skupiają się na UX społeczności. Każda strona lepiej się specjalizuje w swojej dziedzinie, a interoperacyjność działa na kombinacjach.
Granica bezpieczeństwa. Klient nigdy nie ma poświadczeń portfela. Wadliwy klient może najwyżej wysłać złe faktury; nie może opróżnić portfela ani wyeksportować frazy nasiennej.
Jedynym przypadkiem, w którym wbudowany jest wyraźnie lepszy, jest dla użytkowników, którzy chcą najmniej tarcia podczas onboardingu. Klient z pakowanym portfelem dostaje użytkownika wysyłającego zapy o jeden krok szybciej niż parowanie zewnętrznego portfela. Dlatego rejestracja na nostr.blog domyślnie zawiera portfel, a użytkownicy mogą później sparować zewnętrzne portfele przez NWC, jeśli wolą.
Wycofywanie połączenia NWC
Jeśli zgubisz urządzenie, przestaniesz używać klienta lub będziesz chciał obrócić poświadczenia, wycofaj połączenie ze strony portfela.
- Otwórz portfel.
- Znajdź połączenie na liście ustawień.
- Stuknij wycofaj lub usuń.
- Łańcuch połączenia już nie działa; każdy klient, który go posiada, otrzymuje "unauthorized" przy następnym żądaniu.
To jest natychmiastowe. W przeciwieństwie do kluczy API, które możesz wycieknąć do repozytorium GitHub, połączenia NWC mogą być zabite w sekundach i żadne pozostałe sesje się nie utrzymują. To jest znacząca właściwość bezpieczeństwa.
Typowe problemy z NWC
"Connection timed out." Przekaźnik w łańcuchu NWC jest nieosiągalny z twojej sieci, lub portfel jest w trybie offline. Sprawdź, czy aplikacja portfela jest otwarta i połączona; niektóre portfele wymagają, aby aplikacja była aktywna, aby odpowiedzieć.
"Payment failed" pomimo ważnej faktury. Kanały portfela mogą brakować płynności do trasowania płatności. To jest problem na poziomie Lightning, nie specyficzny dla NWC. Spróbuj innej kwoty lub innego czasu.
"Permission denied." Budżet połączenia jest wyczerpany, połączenie wygasło, lub typ żądania nie jest w dozwolonych metodach. Sprawdź ustawienia połączenia w portfelu.
"Client cannot detect wallet." Po wklejeniu klient zawieja. Zamknij i otwórz ponownie klienta; niektóre klienty buforują stan połączenia i ponownie sprawdzają tylko przy uruchomieniu.
Dokąd zmierza NWC
NIP-47 nie jest ostateczne. Aktywna praca w 2026 roku obejmuje:
- Bogatsze uprawnienia. Bardziej szczegółowe niż "może wydawać aż do X na okres", z regułami dla konkretnych odbiorców lub kwot.
- Trasowanie wielu portfeli. Klient sparowany z wieloma portfelami wybiera najlepszy dla każdej płatności na podstawie salda, opłaty lub trasy.
- Lepsze zgłaszanie błędów. Standaryzowane kody błędów, aby klienty mogły pokazywać użyteczne wiadomości, gdy płatności nie powiodą się.
- Wsparcie portfela offline. Obecny NWC zakłada, że obie strony są online; projekty zezwalają na żądania w kolejce, które rozliczają się, gdy portfel się ponownie łączy.
Protokół jest wystarczająco stabilny do codziennego użytku w 2026 roku i będzie się nadal rozwijać. Parowanie portfela dzisiaj to operacja jednej minuty; nic w obecnym projekcie nie będzie przerwane później.
Najczęstsze pytania
Czy NWC to to samo co połączenie portfela?
Czy NWC jest bezpieczne?
Czy jeden portfel może się połączyć z wieloma klientami przez NWC?
Jaka jest różnica między NWC a LNURL?
Czy potrzebuję NWC, aby używać zapów na Nostr?
Czytaj dalej
Czym są zapy na Nostrze? Napiwki w Bitcoinie, publicznie widoczne
Zaps to napiwki Bitcoin Lightning wysyłane jednym kliknięciem, które pojawiają się w feedach Nostr. Czym są, jak działa przepływ potwierdzenia i jak wysłać lub otrzymać zapa.
6 min czytaniaPortfele i LightningJak wysłać zap na Nostrze: krok po kroku
Wysłanie pierwszego zapa zajmuje około dwie minuty, gdy portfel jest zasilony. Oto konfiguracja, przepływ procesu i co robić, jeśli zap nie dotrze.
5 min czytaniaPortfele i LightningLightning Network wyjaśniony dla użytkowników Nostr
Warstwa Bitcoin, która sprawia, że napiwki za ułamek centa są praktyczne. Jak działa Lightning, dlaczego Nostr go używa do zapsów i co potrzebujesz do wysyłania i odbierania satów.
7 min czytania