'handleNostrLoggedIn', 'nostrLoggedOut' => 'handleNostrLoggedOut', ]; public function mount(): void { if (NostrAuth::check()) { $this->currentPubkey = NostrAuth::pubkey(); $this->currentPleb = EinundzwanzigPleb::query() ->with([ 'paymentEvents' => fn ($query) => $query->where('year', date('Y')), 'profile', ]) ->where('pubkey', $this->currentPubkey)->first(); if ($this->currentPleb) { if ($this->currentPleb->nip05_handle) { $this->nip05Handle = $this->currentPleb->nip05_handle; // Get all NIP-05 handles for current pubkey $this->nip05VerifiedHandles = $this->getNip05HandlesForPubkey($this->currentPubkey); if (count($this->nip05VerifiedHandles) > 0) { $this->nip05Verified = true; $this->nip05VerifiedHandle = $this->nip05VerifiedHandles[0]; // Check if verified handle differs from database handle if (! in_array($this->nip05Handle, $this->nip05VerifiedHandles, true)) { $this->nip05HandleMismatch = true; } } } // Check if current year is paid $paymentEvent = $this->currentPleb->paymentEvents->first(); if ($paymentEvent && $paymentEvent->paid) { $this->currentYearIsPaid = true; } } } } public function updatedNip05Handle(): void { $this->nip05Handle = strtolower($this->nip05Handle); } public function saveNip05Handle(): void { $this->validate([ 'nip05Handle' => 'required|string|max:255|regex:/^[a-z0-9_-]+$/|unique:einundzwanzig_plebs,nip05_handle', ]); $nip05Handle = strtolower($this->nip05Handle); $this->currentPleb->update([ 'nip05_handle' => $nip05Handle, ]); Flux::toast('NIP-05 Handle gespeichert.'); } public function copyRelayUrl(): void { $relayUrl = 'wss://nostr.einundzwanzig.space'; $this->js("navigator.clipboard.writeText('{$relayUrl}')"); Flux::toast('Relay-Adresse in die Zwischenablage kopiert!'); } public function copyWatchtowerUrl(): void { $watchtowerUrl = '03a09f56bba3d2c200cc55eda2f1f069564a97c1fb74345e1560e2868a8ab3d7d0@62.171.139.240:9911'; $this->js("navigator.clipboard.writeText('{$watchtowerUrl}')"); Flux::toast('Watchtower-Adresse in die Zwischenablage kopiert!'); } public function handleNostrLoggedIn(string $pubkey): void { NostrAuth::login($pubkey); $this->mount(); } public function handleNostrLoggedOut(): void { $this->currentPleb = null; $this->currentPubkey = null; $this->currentYearIsPaid = false; $this->nip05Handle = ''; $this->nip05Verified = false; $this->nip05VerifiedHandle = null; $this->nip05HandleMismatch = false; $this->nip05VerifiedHandles = []; } } ?>
Exklusive Schreib-Rechte auf Premium Nostr Relay von Einundzwanzig.
@if($currentPleb && $currentPleb->association_status->value > 1 && $currentYearIsPaid)Ein Outbox-Relay ist wie ein Postbote für deine Nostr-Nachrichten. Es speichert und verteilt deine Posts. Um unser Relay nutzen zu können, musst du es in deinem Nostr-Client hinzufügen.
Gehe in deinem Nostr-Client zu den Einstellungen (meistens "Settings" oder "Relays") und füge folgende Outbox-Relay-Adresse hinzu:
wss://nostr.einundzwanzig.space
Wichtige Hinweise: Du kannst deine Posts auf mehreren Relays gleichzeitig veröffentlichen. So stellst du sicher, dass deine Inhalte auch über unser Relay erreichbar sind.
Verifiziere deine Identität mit einem menschenlesbaren Nostr-Namen.
Regeln für dein Handle: Nur Kleinbuchstaben (a-z), Zahlen (0-9) und die Zeichen "-" und "_" sind erlaubt. Dein Handle wird automatisch kleingeschrieben.
Du hast {{ count($nip05VerifiedHandles) }} aktive Handles für deinen Pubkey!
@if($nip05HandleMismatch)Die Synchronisation zu {{ $nip05Handle }}@einundzwanzig.space wird automatisch im Hintergrund durchgeführt.
@endifDeine aktivierten Handles:
Dein Handle {{ $nip05Handle }}@einundzwanzig.space ist noch nicht aktiv.
Das Handle ist gespeichert, aber noch nicht in der NIP-05 Konfiguration veröffentlicht. Der Vorstand wird dies bald aktivieren.
Nutze unseren Watchtower zum Schutz deiner Lightning Channel.
Ein Watchtower überwacht deine Lightning Channel und schützt sie, falls deine Node offline ist. Wenn du die Zahlung von Channel-Closing-Transaktionen verpasst, kümmert sich der Watchtower darum und verhindert den Verlust deiner Sats.
Um unseren Watchtower zu nutzen, füge folgende URI in deiner Lightning Node Konfiguration hinzu:
03a09f56bba3d2c200cc55eda2f1f069564a97c1fb74345e1560e2868a8ab3d7d0@62.171.139.240:9911
Einrichtung für gängige Lightning Clients:
watchtower-client Plugin mit der URIWichtig: Der Watchtower überwacht deine Channel passiv. Er hat keinen Zugriff auf deine privaten Schlüssel oder dein Guthaben.