Oorspronkelijk geplaatst op Substack op 14 apr. 2023. Hier bijgewerkt op 28 dec. 2024.
Dit artikel is ook geregistreerd bij OP_RETURN op blokhoogte #785362
Hoe je een gratis, gedecentraliseerde, privé, onstuitbare marktplaats runt met LNbits, met behulp van de NOSTR-marktextensie, via wss-relays, zonder enig http-verkeer en zelfs zonder DNS/domein..
Dit is een geweldige prestatie voor NOSTR en LNbits, een revolutionair protocol om op een volledig gedecentraliseerde manier te kunnen handelen, aangekondigd door Ben Arc hier.
Als je hier nieuw in bent en niet weet wat NOSTR is, begin dan hier met lezen: nostr.com | nostr.how /
Als je nieuw bent met LNbits, het nog nooit hebt gebruikt, er nog nooit van hebt gehoord, begin dan hier met lezen:
Het oorspronkelijke protocol was Diagon-Alley, dat later NOSTR-Market werd (NIP-15).
Diagon Alley is een gedecentraliseerd marktkraamprotocol, dat de nadruk verschuift van de front-end markt naar de kraam van de handelaar. Als een front-end markt (indexer) wordt verwijderd, richten handelaren hun kraampjes gewoon ergens anders op. Speltheoretisch gezien is de winnaar van Diagon Alley het meest direct, hoewel suggesties om slecht gedrag te beperken zeer welkom zijn.
Indexers
Indexer is een eenvoudige front-end server en GUI die product-, betalings- en verzendinformatie tussen handelaar en koper routeert. Elke handelaar heeft producten in een kraam. De kraam kiest welke producten worden vermeld met de indexer. Een indexer heeft één eindpunt.
Stals
Een kraam heeft een sleutelpaar dat het gebruikt om zichzelf te registreren bij indexen en facturen te ondertekenen. Dat sleutelpaar is niet gerelateerd aan een Lightning Network-sleutelpaar, het is onafhankelijk.
Een kraam kan ervoor kiezen om sommige/alle producten te vermelden met een indexer. Een stall is een kleine server met drie eindpunten.
Maar dat was allemaal gebaseerd op het http-protocol, dus was nog steeds afhankelijk van domein/DNS en verkeer via http.
Nu is NOSTR-market gebouwd op NOSTR-protocol, waarbij al het verkeer via wss-relays gaat. HTTP-toegang kan optioneel zijn als de handelaar een openbare webwinkel wil publiceren.
Maar vrijwel iedereen kan een winkelstal runnen in een lokale instantie van LNbits (op 127.0.0.1) en als notities uitzenden dat alle items van zijn stall naar de relays zijn verbonden.
Hetzelfde als voor klanten, kan gewoon een lokale NOSTR-client en een NOSTR-market runnen en verbinding maken met elke pubkey van de handelaar via wss-relays. Shop dan vrij, gedecentraliseerd, anoniem zonder http-verkeer, en gebruik voor betalingen het Bitcoin Lightning Network.
Laten we beginnen!
ALS HANDELAAR
Stel dat u LNbits al hebt geïnstalleerd (zie de bovenstaande links over LNbits). Ik ga nu niet in op die details, want dan wordt deze handleiding te lang.
Een korte checklist voordat u begint met NOSTR-market:
- Maak u vertrouwd met hoe NOSTR werkt en wat het werkelijk is. Velen denken dat het slechts een vervanging is voor Twitter, maar ze hebben het mis, het is veel meer dan dat. Het NOSTR-protocol biedt veel andere functionaliteiten voor een meer gedecentraliseerde wereld.
- Maak u vertrouwd met hoe LNbits werkt. Het is een boekhoudsysteem bovenop een LN-knooppunt / financieringsbron. Beschouw het als een "wordpress" voor uw LN-knooppunt.
- Test of uw LNbits-instantie goed werkt, test de wallets, gebruikers etc. Lees en besteed aandacht aan alle LNbits-documentatie die beschikbaar is op de Wiki-pagina.
- Overweeg een goede financieringsbron met goede liquiditeit (in en uit) voor uw LN-knooppunt, verbonden met goede LN-routes en bied voldoende liquiditeit voor de betalingen die u ontvangt en ook voor het omwisselen van de ontvangen sats. Lees, leer en raak vertrouwd met hoe LN werkt. Hier is een volledige lijst met handleidingen en tutorials.
Stap 1 - Installeer vereiste LNbits-extensies
A - Activeer de adminUI-functie
Voor eenvoudig beheer van uw LNbits-server (financieringsbronnen, gebruikers, beheerders, installatie-extensies, enz.).
Om te onthouden:
- Deze adminUI maakt een super-admin-gebruiker die ALLEEN de server mag beheren en alleen bij het opstarten van LNbits wordt weergegeven in het consolelogboek.
- Het kan worden benaderd via een lokale URL zoals http://127.0.0.1/admin?usr=dfdf87.... of domein / DNS als u uw LNbits in clearnet of via Tor hebt ingesteld.
- Sla deze URL op in de bladwijzers van uw browser als u deze vaker wilt openen.
- Plaats deze URL NIET in een zoekmachine of plaats deze niet openbaar!
- Gebruik GEEN browser zoals Google Chrome die ook is ingelogd met een Gmail-account. Gebruik een fatsoenlijke browser die privacy respecteert en ook de geschiedenis/cache niet opslaat (zie browseropties en schakel die optie uit). Elke keer dat u de browser sluit, wordt alle browsegeschiedenis verwijderd. Zie hier meer.
- Vanaf v 12.0 heeft LNbits al een goede inlogmethode met gebruikersnaam en wachtwoord.
B - Install User Manager (UM) extensie
Dit is een zeer nuttige extensie om gebruikers, wallets en toegangsniveaus te beheren en te maken. Zie hier meer instructies.
Log in met de Super Admin-gebruiker, installeer de UM en maak vervolgens ook een gebruiker met zijn wallet.
Log in met die gebruiker en sla de URL op in uw bladwijzers. Deze gebruiker kan ook fungeren als een admin-gebruiker (als u volledige rechten geeft in de sectie "Manage server").
Binnen deze "admin-gebruiker" kunt u meerdere andere normale gebruikers maken, dezelfde procedure met behulp van de UM-extensie. Maar alleen als het nodig is.
Met deze "admin user" gaan we de merchant en stall aanmaken met de NOSTR-market extensie.
C - NOSTR-client extensie installeren
Dit is een vereiste extensie voor NOSTR-market, omdat uw markt verbinding moet maken met meerdere NOSTR-relays om uw kraam te kunnen uitzenden.
NOSTR-client is een always-on extensie die meerdere verbindingen naar nostr-relays kan openen en kan fungeren als een multiplexer voor andere clients: U opent een enkele websocket naar nostrclient die vervolgens de gegevens naar meerdere relays stuurt. De antwoorden van deze relays worden vervolgens teruggestuurd naar de client.
Voeg enkele NOSTR-relays toe aan de client. Als u een proxy-relay kunt toevoegen (een die is verbonden met veel andere relais), is het beter om het synchronisatieverkeer te beperken.
D - NOSTR-Market-extensie installeren
Dit is de belangrijke extensie die u zult gebruiken om uw merchant-profiel, de kraampjes, producten, interactie met klanten via NOSTR-privéberichten, beheer van bestellingen, enz. te maken en beheren.
Stap 2 - Configureer uw NOSTR-Merchant Stall en producten
Als handelaar moet u een Nostr-sleutelpaar opgeven, of de extensie kan er een voor u genereren. Als u NOSTR al gebruikt voor het plaatsen van notities en chatten, kunt u dezelfde sleutels gebruiken om de reeds gemaakte reputatie en verificatie NIP-05 te gebruiken. Maar het is beter om een aparte sleutel voor de winkel te hebben en gewoon de extra winkel-pubkey in uw "openbare NOSTR-profiel" te publiceren.
Zodra u een handelaarsaccount hebt, kunt u de details bekijken in de vervolgkeuzelijst van de handelaar, de sleutels afzonderlijk opslaan en/of uw winkel-pubkey (geen privésleutel!) aan uw volgers/klanten bekendmaken.
BEWAAR UW PRIVÉSLEUTEL op een veilige plaats! Als u uw LNbits NOSTR-markt moet migreren of een LNbits-instantie naar een andere machine moet herstellen, kunt u die privésleutel van de verkoper gebruiken om uw vorige kraam en artikelen te importeren.
Om een kraam te maken, moet u eerst een verzendzone instellen. Klik op de knop Zones en vul de velden in:
- Geef uw verzendzone een naam
- Selecteer voor welke landen deze verzendzone geldt (u kunt een "Gratis" zone instellen voor digitale goederen)
- Selecteer de rekeneenheid. Als u producten in USD/EUR wilt vermelden, moet de verzendzone dezelfde valuta hebben
- Selecteer de verzendkosten
Nu kunt u de kraam maken. Klik op de knop Nieuwe kraam en vul de benodigde velden in.
- Geef uw kraam/winkel een naam
- Een optionele beschrijving (deze kan door de klant worden gebruikt om winkels te zoeken)
- Selecteer welke portemonnee u voor deze winkel wilt gebruiken
- Selecteer de eenheid
- Selecteer een verzendzone (meerdere zones kunnen worden geselecteerd)
Klik op de knop "Plus" om de kraamgegevens te openen en klik op "Nieuw product" om een product te maken:
Vul de benodigde velden in het dialoogvenster
- De productnaam
- Geef een beschrijving
- Voeg enkele categorieën toe (dit kan door klanten worden gebruikt om naar producten te zoeken, dus voeg er zoveel toe als uw artikel beter kan beschrijven)
- Geef een URL voor uw productafbeelding (het wordt aanbevolen dat de afbeeldingen buiten LNbits worden gehost). U kunt PostIMG.cc of een andere CDN gebruiken.
- Een prijs voor het product, in de valuta die is geselecteerd voor de winkel (dit wordt omgezet naar sats wanneer een klant koopt)
- De hoeveelheid die u op voorraad hebt, voor het product. Dit wordt bijgewerkt wanneer bestellingen worden geplaatst/betaald
In het gedeelte Kraam kunt u ook de kraamgegevens bekijken (bijwerken of verwijderen) in het tabblad Kraaminfo
Producten maken, bijwerken of verwijderen in het tabblad Producten
Klaar! Uw Merchant Stall is klaar om door uw klanten bezocht te worden.
Om uw kraam lokaal te testen, opent u de link van de lokale marktpagina, die zich op de hoofdpagina van NOSTR-Market bevindt, in het rechterpaneel:
Deze link opent een nieuw tabblad zoals: http:127.0.0.1/nostrmarket/market of https://your-lnbits.domain.com/nostrmarket/market (als u het in clearnet opent).
Klik op het menu Markt en ga naar Merchants. Plak vervolgens uw merchant pubkey (zie het begin van dit hoofdstuk over het weergeven/opslaan van uw pubkey).
Zodra u uw pubkey hebt toegevoegd, wordt uw kraam weergegeven en uitgezonden naar de relais.
De knop Inloggen moet worden gebruikt als klant of als u de eigenaar bent van de kraam of als met uw persoonlijke NOSTR-profiel.
U kunt uw NOSTR-kraam ook testen vanaf een andere openbare NOSTR-marktpagina, zoals bijvoorbeeld https://market.nostr.com/. U hoeft alleen uw pubkey toe te voegen aan de sectie "Merchants" en klaar. Al uw klanten kunnen dezelfde procedure uitvoeren of vanaf hun eigen lokale LNbits-instantie als ze die hebben.
Op een marktpagina kunt u meerdere merchants toevoegen en rechtstreeks vanaf daar winkelen. Zoals u in de afbeelding hierboven kunt zien, zijn er 3 verschillende handelaren, met hun kraampjes en allemaal toegankelijk via een lokale LNbits-instantie, gewoon door hun pubkeys toe te voegen.
Wanneer u een bestelling ontvangt, kunt u de details bekijken door te klikken op het "Plus"-teken voor de bestelling.
- Bestelde producten
- De order-ID
- Het verzendadres van de klant
- De openbare sleutel van de klant
- Factuur-ID
Indien van toepassing, kunt u instellen als verzonden wanneer de verzending is verwerkt.
U hebt ook een chatbox om te chatten met de klant en al deze berichten worden via het NOSTR-protocol gedaan, privé en gecodeerd.
ALS KLANT
LNbits biedt ook een Nostr Market-client-app.
U kunt de client-URL van het merchant dashboard met uw klanten delen door op de link "Market client" te klikken of door https://your-LNbits-instance-URL/nostrmarket/market te bezoeken.
Of ze kunnen bijvoorbeeld https://market.nostr.com/ bezoeken en gewoon uw Stall-pubkey toevoegen. Of gebruik het zoekvak en voer een van uw specifieke tags in.
Als ze al een LNbits-instantie hebben geïnstalleerd, kunnen ze er zelfs toegang toe krijgen via een lokale URL zoals http://127.0.0.1/nostrmarket/market en de pubkey van de stall toevoegen.