Originariamente pubblicato su Substack il 14 aprile 2023. Aggiornato qui il 28 dicembre 2024.
Questo articolo è stato registrato anche con OP_RETURN all'altezza del blocco #785362
Come gestire un mercato libero, decentralizzato, privato e inarrestabile con LNbits, utilizzando l'estensione NOSTR-market, tramite relay wss, senza alcun traffico http e persino senza DNS/dominio..
Questo è un grande risultato per NOSTR e LNbits, un protocollo rivoluzionario per poter fare trading in modo totalmente decentralizzato, annunciato da Ben Arc qui.
Se sei nuovo in questo e non sai cosa sia NOSTR, inizia a leggere qui: nostr.com | nostr.how /
Se non hai mai usato LNbits, non lo hai mai usato, non ne hai mai sentito parlare, inizia a leggere qui:
Il protocollo originale era Diagon-Alley, che in seguito divenne NOSTR-Market (NIP-15).
Diagon Alley è un protocollo di bancarelle di mercato decentralizzato, che sposta l'enfasi dal mercato front-end alla bancarella dei commercianti. Se un mercato front-end (indicizzatore) viene abbattuto, i commercianti semplicemente indirizzano le loro bancarelle altrove. In teoria dei giochi il vincitore di Diagon Alley è il più schietto, anche se i suggerimenti su come limitare i comportamenti scorretti sono molto benvenuti.
Indicizzatori
L'indicizzatore è un semplice server front-end e GUI che instrada le informazioni su prodotti, pagamenti e spedizioni tra commerciante e acquirente. Ogni commerciante ha prodotti in una bancarella. La bancarella sceglie quali prodotti elencare con l'indicizzatore. Un indicizzatore ha un endpoint.
Bancarelle
Una bancarella ha una coppia di chiavi che usa per registrarsi per indicizzare e firmare le fatture. Quella coppia di chiavi non è correlata a nessuna coppia di chiavi Lightning Network, è indipendente.
Una bancarella può scegliere di elencare alcuni/tutti i prodotti con un indicizzatore. Uno stallo è un piccolo server con tre endpoint.
Ma tutto ciò era basato sul protocollo http, quindi dipendeva ancora dal dominio/DNS e dal traffico su http.
Ora, NOSTR-market è basato sul protocollo NOSTR, dove tutto il traffico avviene tramite relay wss. L'accesso HTTP può essere facoltativo nel caso in cui il commerciante voglia pubblicare un web-shop pubblico.
Ma praticamente chiunque può gestire uno stallo in un'istanza locale di LNbits (su 127.0.0.1) e trasmettere come note tutti gli articoli dal suo stallo ai relay a cui è connesso.
Come per i clienti, potrebbe semplicemente gestire un client NOSTR locale e un NOSTR-market e connettersi a qualsiasi chiave pubblica del commerciante tramite relay wss. Quindi fai acquisti liberamente, in modo decentralizzato, anonimo e senza alcun traffico http, utilizzando per i pagamenti la Bitcoin Lightning Network.
Cominciamo!
COME COMMERCIANTE
Supponiamo che tu abbia già installato LNbits (vedi i link sopra su LNbits). Non entrerò nei dettagli ora, renderebbe questa guida troppo lunga.
Una breve checklist prima di iniziare con NOSTR-market:
- Familiarizza con il funzionamento di NOSTR e con ciò che è realmente. Molti pensano che sia solo un sostituto di Twitter, ma si sbagliano, è molto di più. Il protocollo NOSTR offre molte altre funzionalità per un mondo più decentralizzato.
- Familiarizza con il funzionamento di LNbits. È un sistema di contabilità su un nodo LN/fonte di finanziamento. Consideralo come un "wordpress" per il tuo nodo LN.
- Testa la tua istanza LNbits per verificarne il corretto funzionamento, testando i wallet, gli utenti ecc. Leggi e presta attenzione a tutta la documentazione LNbits disponibile sulla pagina Wiki.
- Considera di avere una buona fonte di finanziamento con una buona liquidità (in entrata e in uscita) per il tuo nodo LN, connessa a buoni percorsi LN e offri abbastanza liquidità per i pagamenti che riceverai e anche per lo scambio dei sat ricevuti. Leggi, impara e familiarizza con il funzionamento di LN. Ecco un elenco completo di guide e tutorial.
Passaggio 1: installa le estensioni LNbits richieste
A - Attiva la funzionalità adminUI
Per una facile gestione del tuo server LNbits (fonti di finanziamento, utenti, amministratori, estensioni di installazione ecc.).
Da ricordare:
- Questa adminUI creerà un utente super-amministratore che SOLO gestirà il server e verrà visualizzato solo all'avvio di LNbits, nel registro della console.
- It è possibile accedervi tramite URL locale come http://127.0.0.1/admin?usr=dfdf87.... o dominio/DNS se imposti i tuoi LNbits in clearnet o anche su Tor.
- Salva questo URL nei segnalibri del tuo browser se vuoi accedervi più volte.
- NON mettere questo URL in nessun motore di ricerca o pubblicarlo in pubblico!
- NON usare un browser come Google Chrome che sia anche connesso con un account Gmail. Usa un browser decente che rispetti la privacy e non salvare la cronologia/cache (vedi le opzioni del browser e disattiva quell'opzione). Ogni volta che chiudi il browser, eliminerai tutta la cronologia di navigazione. Scopri di più qui.
- A partire dalla v 12.0, LNbits ha già un modo di accesso corretto con utente e password.
B - Installa l'estensione User Manager (UM)
Questa è un'estensione molto utile per gestire e creare utenti, portafogli e livelli di accesso. Vedi altre istruzioni qui.
Accedi con l'utente Super Admin, installa UM, quindi crea un utente con il suo portafoglio.
Accedi con quell'utente e salva l'URL nei tuoi segnalibri. Questo utente potrebbe anche agire come utente amministratore (se gli dai pieni diritti nella sezione "Gestisci server").
All'interno di questo "utente amministratore" puoi creare molti altri utenti normali, stessa procedura usando l'estensione UM. Ma solo se necessario.
Con questo "utente amministratore" creeremo il commerciante e la bancarella con l'estensione NOSTR-market.
C - Installa l'estensione NOSTR-client
Questa è un'estensione richiesta per NOSTR-market, perché il tuo mercato deve connettersi a diversi relay NOSTR per poter trasmettere la tua bancarella.
NOSTR-client è un'estensione sempre attiva che può aprire più connessioni ai relay NOSTR e fungere da multiplexer per altri client: apri un singolo websocket su nostrclient che invia i dati a più relay. Le risposte da questi relay vengono quindi inviate al client.
Aggiungi alcuni relay NOSTR nel client. Se puoi aggiungere un proxy relay (uno che sia connesso a molti altri relay) sarà meglio limitare il traffico di sincronizzazione.
D - Installa l'estensione NOSTR-Market
Questa è l'estensione importante che utilizzerai per creare e gestire il tuo profilo commerciante, gli stand, i prodotti, interagire con i clienti tramite messaggi privati NOSTR, gestire gli ordini ecc.
Passaggio 2 - Configura il tuo stand NOSTR-Merchant e i prodotti
Come commerciante devi fornire una coppia di chiavi Nostr oppure l'estensione può generarne una per te. Se utilizzi già NOSTR per pubblicare note e chat, puoi usare le stesse chiavi, per usare la reputazione e la verifica NIP-05 già create. Ma è preferibile averne una separata per il negozio e pubblicare semplicemente nel tuo "profilo pubblico NOSTR" la chiave di pubblicazione aggiuntiva del negozio.
Una volta che hai un "account" commerciante, puoi visualizzare i dettagli nel menu a discesa del commerciante, salvare le chiavi separatamente e/o annunciare la chiave di pubblicazione del tuo negozio (non la chiave privata!) ai tuoi follower/clienti.
SALVA LA TUA CHIAVE PRIVATA in un posto sicuro! Nel caso in cui tu abbia bisogno di migrare il tuo mercato NOSTR LNbits o ripristinare un'istanza LNbits su un'altra macchina, potresti usare quella chiave privata del commerciante per importare il tuo precedente stand e gli articoli.
Per creare uno stand, devi prima impostare una zona di spedizione. Fai clic sul pulsante Zone e compila i campi:
- Assegna un nome alla tua zona di spedizione
- Seleziona a quali paesi si applica questa zona di spedizione (puoi impostare una zona "Gratuita" per i beni digitali)
- Seleziona l'unità di conto. Se elencherai i prodotti in USD/EUR, la zona di spedizione deve essere nella stessa valuta
- Seleziona il costo di spedizione
Ora puoi creare la bancarella. Fai clic sul pulsante Nuovo stand e compila i campi necessari.
- Assegna un nome al tuo stand/negozio
- Una descrizione facoltativa (può essere utilizzata dal cliente per cercare i negozi)
- Seleziona quale portafoglio utilizzare per questo negozio
- Seleziona l'unità
- Seleziona una zona di spedizione (è possibile selezionare più zone)
Fai clic sul pulsante "Più" per aprire i dettagli dello stand e fai clic su "Nuovo prodotto" per creare un prodotto:
Compila i campi necessari nella finestra di dialogo
- Il nome del prodotto
- Dagli una descrizione
- Aggiungi alcune categorie (che possono essere utilizzate dai clienti per cercare i prodotti, quindi aggiungine quante più possono descrivere meglio il tuo articolo)
- Fornisci un URL per l'immagine del tuo prodotto (si consiglia di ospitare le immagini al di fuori di LNbits). Puoi utilizzare PostIMG.cc o qualsiasi altro CDN.
- Un prezzo per il prodotto, nella valuta selezionata per il negozio (questo verrà convertito in sats quando un cliente acquista)
- La quantità che hai in magazzino, per il prodotto. Questo verrà aggiornato quando gli ordini vengono effettuati/pagati
Nella sezione Stall puoi anche vedere (aggiornare o eliminare) i dettagli dello stand nella scheda Stall Info
Crea, aggiorna o elimina prodotti nella scheda Prodotti
Fatto! Il tuo stand commerciante è pronto per essere visitato dai tuoi clienti.
Per testare localmente il tuo stand, apri il link della pagina del Mercato locale, che si trova sulla pagina principale di NOSTR-Market, nel pannello di destra:
Questo link aprirà una nuova scheda come: http:127.0.0.1/nostrmarket/market o https://your-lnbits.domain.com/nostrmarket/market (se vi accedi in clearnet).
Clicca sul menu Mercato e vai a Commercianti. Quindi incolla la tua chiave pubblica del commerciante (vedi l'inizio di questo capitolo su come visualizzare/salvare la tua chiave pubblica).
Una volta aggiunta la tua chiave pubblica, il tuo stand verrà visualizzato e trasmesso ai relay.
Il pulsante Accedi deve essere utilizzato come cliente o come proprietario dello stand o come con il tuo profilo NOSTR personale.
Puoi testare il tuo stand NOSTR anche da qualsiasi altra pagina pubblica del mercato NOSTR, come https://market.nostr.com/ ad esempio. Devi solo aggiungere la tua chiave pubblica nella sezione "Commercianti" e il gioco è fatto. Tutti i tuoi clienti possono fare la stessa procedura o dalla propria istanza LNbits locale se ne hanno una.
In una pagina del mercato puoi aggiungere più commercianti e fare acquisti direttamente da lì. Come puoi vedere nell'immagine sopra, ci sono 3 commercianti diversi, con i loro stand e tutti accessibili da un'istanza locale di LNbits, semplicemente aggiungendo le loro chiavi pubbliche.
Quando ricevi un ordine, puoi vedere i dettagli cliccando sul segno "Più" per l'ordine.
- Prodotti ordinati
- ID ordine
- Indirizzo di spedizione del cliente
- Chiave pubblica del cliente
- ID fattura
Se applicabile, puoi impostare come spedito quando la spedizione viene elaborata.
Hai anche una casella di chat per chattare con il cliente e tutti questi messaggi vengono inviati tramite protocollo NOSTR, in modo privato e crittografato.
COME CLIENTE
LNbits fornisce anche un'app client Nostr Market.
Puoi condividere con i tuoi clienti l'URL del client dalla dashboard del commerciante cliccando sul link "Client Market" o visitando https://your-LNbits-instance-URL/nostrmarket/market.
Oppure possono visitare https://market.nostr.com/ ad esempio e aggiungere semplicemente la tua Stall pubkey. O anche usare la casella di ricerca e inserire uno dei tuoi tag specifici.
Se hanno già installato un'istanza LNbits, possono anche accedervi da un URL locale come http://127.0.0.1/nostrmarket/market e aggiungere la stall pubkey.