Warum sollte ich Metamask verwenden, anstatt nur Web3.js im Browser zu verwenden?

Nach meinem Verständnis bietet Metamask dem Benutzer eine bequeme Möglichkeit, mit DApps zu interagieren, indem es seine Brieftaschen speichert und eine Schnittstelle bereitstellt, die dem Benutzer die Kontrolle darüber gibt, was die DApp tut. Ist das richtig?

Wenn es dem Benutzer überhaupt nichts ausmacht, die Wallet-Adresse und das Passwort einzugeben, und er der App voll und ganz vertraut, gibt es dann einen Grund, Metamask zu verwenden? Web3.js erlaubt alles, was Metamask auch im Browser macht, richtig?

Antworten (3)

Bei deiner ersten Frage hast du vollkommen Recht. Es gibt noch mehr andere Funktionen von Metamask, bitte graben Sie es aus.
Ok, jetzt können wir von der Seite von web3js aus eine Menge Arbeit im Zusammenhang mit Brieftaschen erledigen.

web3.eth.accounts

Das web3.eth.accountsenthält Funktionen zum Generieren von Ethereum-Konten und Signieren von Transaktionen und Daten. Bitte sehen Sie sich andere Funktionen im Zusammenhang mit dem Konto an.

Sie können in Memory Wallet von web3js erstellen

web3.eth.accounts.wallet – Enthält eine Brieftasche im Speicher mit mehreren Konten. Diese Konten können bei Verwendung von web3.eth.sendTransaction() verwendet werden.

Jetzt geht es darum, dass Sie mit der web3js-Bibliothek Ihre eigene Brieftasche erstellen können. Sie brauchen dazu keine Metamaske

Kontobereitstellungsvertrag
erstellen Vertrag
aufrufen
Verschlüsselung
Entschlüsselung
signieren Transaktion

Sie haben Recht, wenn Sie sagen, dass Sie web3alles verwenden können, anstatt Metamask.Und Sie kennen möglicherweise nicht die Vorteile der Meta-Maske zusätzlich zur Verwendung als Brieftasche:

  • Entsperren Sie MyEtherWallet.com schnell, klicken Sie auf Öffnen
  • Wenn Sie gefälschte Websites besuchen, wird eine rote Warnung angezeigt
  • Anti-Diebstahl-Anmeldeschlüssel

Da Sie ein Entwickler sind, sind Sie nur daran interessiert, sich bei der Ethereum-Brieftasche anzumelden und Funktionen anzubieten. Aber Benutzer brauchen eine einfache Erfahrung mit dem Dapp-System. Ich finde Metamaskes sehr gut gelungen. Vitalik Buterinsagte einmal, dass eine der großen Herausforderungen von Ethereum die begrenzte Benutzererfahrung ist, die Sie bei der Entwicklung Ihrer App berücksichtigen sollten.

Richtig. Aber das würde den Sinn der Verwendung einer dezentralisierten, vertrauenswürdigen Anwendung zunichte machen.

Was ist der Unterschied zwischen dem Ausführen von Web3.js im Browser und der Verwendung von Metamask?
Metamask übernimmt die gesamte Unterzeichnung von Transaktionen, ohne den privaten Schlüssel des Benutzers der Website preiszugeben