Ciao Andy ![]()
C’è un po’ di storia su questo argomento su meta (vedi ad esempio).
Innanzitutto, esiste già un plugin discourse-ethereum (molto probabilmente obsoleto, ma esiste)
Copre essenzialmente 1 e 2 della tua lista (beh, un’interpretazione leggermente diversa di ‘2’). Memorizza gli indirizzi ethereum accanto agli account utente, utilizza web3.js per interagire con metamask nel client e etherscan per ottenere i dettagli delle transazioni.
In secondo luogo, in precedenza ho creato un plugin di accesso crypto per Discourse (che coinvolge anche metamask) per un cliente. Quel cliente nel frattempo si è spostato su altre cose. Purtroppo, non è possibile rendere open source quella soluzione (ed è comunque un po’ specifica per il provider). A proposito (dato che tecnicamente non è nella tua lista) l’ostacolo principale da superare con l’accesso tramite metamask è la possibilità di avere account utente senza un’email associata.
Il tuo prossimo passo dipende da ciò che stai cercando di ottenere qui. Se vuoi solo permettere agli utenti di connettersi a un wallet crypto, il plugin discourse-ethereum lo fa. Probabilmente dovresti solo aggiornare parte del codice per renderlo compatibile con l’ultima versione di Discourse. È un lavoro relativamente facile che chiunque abbia familiarità con Discourse può fare per te.
Tuttavia, se stai pensando di creare un plugin più generale per connettere crypto con Discourse, vorresti prima specificare il progetto in dettaglio, considerando le diverse applicazioni per cui il plugin potrebbe essere utilizzato, inclusi l’accesso e i gruppi/categorie, e potenzialmente senza un’estensione del browser come metamask.
Quel tipo di indagine cambierebbe il design del plugin, spostando più logica ethereum sul backend, consentendo maggiore flessibilità in futuro quando vorrai aggiungere altre funzionalità .