Ich baue Dapp auf Ethereum auf. Das Hauptmerkmal dieser Dapp ist die Registrierungs-/Login-Logik. Ich möchte Metamask nicht verwenden, aber ich möchte ein Anmeldesystem wie MyEtherWallet ohne Chrome-Erweiterung erstellen. Wie geht das am besten?
sollte ich eine zentralisierte Datenbank verwenden? weil Dapp nicht mehr dezentralisiert sein wird.
Zu Testzwecken können wir metamask/myetherwallet verwenden. Aber für das Produktionssystem in Dapp müssen wir das Konto und seine Aktivitäten wie das Signieren der Transaktion verwalten. Hier sind allgemeine Schritte, damit Ihre DApp gut funktioniert.
Kontoverwaltung: Dies ist ein grundlegender Teil der Interaktion mit Vertragsfunktionen. Hier ist das Modul web3.eth.accounts. dies erklärt Die web3.eth.accounts enthalten Funktionen zum Erstellen von Ethereum-Konten und Signieren von Transaktionen und Daten. Sie können fast alle Dinge tun, die Sie von Metamask aus tun.
Netzwerk-RPC-Endpunkt: Die oben genannten Konten müssen sich in demselben Netzwerk befinden, in dem Sie den RPC-Port aktiviert haben.
Dapp-Hosting: Letztendlich ist Ihre Blockchain verteilt und dezentralisiert, aber Ihre Dapp muss nicht verteilt und dezentralisiert werden. Sie können überall hosten, wo Sie möchten, AWS, Google Cloud. Sie benötigen nur einen privaten/öffentlichen Schlüssel, um mit der Blockchain zu interagieren. Das bedeutet, dass Sie sich um Ihr Konto und Ihren Signaturmechanismus kümmern müssen, was bedeutet, dass Sie Ihren privaten Schlüssel getrennt und sicher aufbewahren.
Unabhängig davon, ob Sie Ihre DApp mit web3 oder der nativen Go-Sprache oder einer beliebigen . Das Konzept ist das gleiche.
Wenn Sie Ihren separaten privaten Schlüssel haben und nur Sie mit diesem Schlüssel interagieren können, gibt es keine solche Einschränkung, die Benutzerinteraktion mit einer zentralisierten Benutzeroberfläche zu dezentralisieren.
Ergänzend zu Guilhermes Antwort: Ich bin kürzlich auf ein Projekt namens Fortmatic gestoßen
Scheint eine weitere praktikable Lösung zu sein, um Identität ohne MetaMask zu handhaben. Ich bin gerade in die Alpha gekommen und habe angefangen, damit herumzuspielen, und soweit so gut, sehr saubere und anständige Dokumentation und lässt sich gut in web3 integrieren
Es gibt eine Reihe von Möglichkeiten, mit der Identität umzugehen, ohne Metamask oder eine Chrome-Erweiterung zu verwenden, aber Sie werden immer auf eine Art "nicht so dezentralisierte" Weise sein, weil Sie am Ende eine externe Datenbank erstellen müssen.
Sie können sich mit einem Identitätsanbieter verbinden, der dies für Sie erledigt. Ich denke, das ist der einfachste Weg, das zu tun, was Sie wollen.
Ich kenne einige Anbieter, wenn Sie sie sich ansehen möchten:
Es hört sich so an, als würden Sie ein Transaktionsrelaissystem benötigen, damit Ihr dapp-Benutzer Transaktionen signiert und der Relayer sie dann auf Ethereum ausführt. Dazu können Sie sich https://github.com/ethereum/EIPs/blob/master/EIPS/eip-1077.md und eine ähnliche Implementierung unter https://github.com/gnosis/safe-contracts ansehen
Die Relayer wären dann jedoch höchstwahrscheinlich zentralisiert, im Prinzip, wenn wir ein dezentralisiertes Relay-Netzwerk für all diese Arten von Transaktionen aufbauen könnten. Aber fertig ist mir noch nichts bekannt.
PS: Wir haben versucht, in einem Hackathon unter https://devpost.com/software/hermes-network ein dezentralisiertes Relay-Netzwerk aufzubauen, und ich hoffe, dass bald weitere Nachfolgeprojekte ähnlicher Projekte folgen werden.
O. Shekriladze
Gopal ojha
O. Shekriladze
Gopal ojha