Hallo Andy ![]()
Es gibt bereits einige Hintergrundinformationen zu diesem Thema auf Meta (siehe z. B.).
Erstens gibt es ein bestehendes Discourse-Ethereum-Plugin (wahrscheinlich veraltet, aber es existiert)
Es deckt im Wesentlichen 1 und 2 Ihrer Liste ab (nun ja, eine leicht andere Interpretation von ‘2’). Es speichert Ethereum-Adressen neben Benutzerkonten, verwendet web3.js zur Interaktion mit Metamask im Client und Etherscan zum Abrufen von Transaktionsdetails.
Zweitens habe ich zuvor ein Discourse-Krypto-Login-Plugin (ebenfalls mit Metamask) für einen Kunden erstellt. Dieser Kunde hat sich inzwischen anderen Dingen zugewandt. Das Open-Sourcing dieser Lösung ist leider keine Option (und sie ist ohnehin etwas anbieterabhängig). Nebenbei bemerkt (da es technisch nicht auf Ihrer Liste steht): Die größte Hürde bei der Anmeldung über Metamask ist die Möglichkeit, Benutzerkonten ohne angehängte E-Mail-Adresse zu haben.
Ihr nächster Schritt hängt davon ab, was Sie hier erreichen möchten. Wenn Sie Benutzern nur erlauben möchten, sich mit einer Krypto-Wallet zu verbinden, erledigt das das Discourse-Ethereum-Plugin. Sie müssten wahrscheinlich nur einige Teile des Codes aktualisieren, um ihn mit dem neuesten Discourse kompatibel zu machen. Das ist eine relativ einfache Aufgabe, die jeder, der mit Discourse vertraut ist, für Sie erledigen kann.
Wenn Sie jedoch darüber nachdenken, ein allgemeineres Plugin zur Verbindung von Krypto mit Discourse zu erstellen, sollten Sie das Projekt zunächst detailliert spezifizieren, um die verschiedenen Anwendungen zu berücksichtigen, für die das Plugin verwendet werden könnte, einschließlich Login und Gruppen-/Kategorienzugriff, und möglicherweise auch ohne Browser-Erweiterung wie Metamask.
Eine solche Untersuchung würde das Design des Plugins verändern, mehr Ethereum-Logik in das Backend verlagern und mehr Flexibilität für die spätere Hinzufügung weiterer Funktionen ermöglichen.