MetaMask: Wie kann ich lokal auf das web3-Objekt zugreifen und meinen eigenen Knoten verwenden?

Ich bin neu bei Ethereum und suchte nach einer Möglichkeit, meine dApp in Chrome statt in Mist auszuführen.

Ich bin auf Metamask gestoßen, das theoretisch perfekt zu meinen Bedürfnissen passen würde. Aus grundlegender Web-Sicht sieht es jedoch so aus, als wäre Metamask ein Proxy für einen Ethereum-Knoten und web3-APIs, was bedeutet, dass alle meine Blockchain-dApp-Daten sie durchlaufen würden.

Funktioniert Metamask auf diese Weise? Wenn ja, wie könnte ich Chrome verwenden, um meine dApp zu entwickeln, bzw. wie kann ich lokal auf das web3-Objekt zugreifen? (Ich betreibe bereits einen JSON-RPC-Knoten)

Mir geht es hier um Sicherheit und darum, mich nicht auf Dritte zu verlassen.

Antworten (2)

MetaMask hostet standardmäßig einen vorsynchronisierten Blockchain-Cluster und tut sein Bestes, um ihn jederzeit online zu halten, aber er kann einfach über das Anbietermenü oben links im Metamask-Popup geändert werden.

Wenn Sie lieber Ihren lokalen json-rpc-Knoten verwenden möchten, richten Sie MetaMask einfach auf seine Adresse.

Aus Sicherheitsgründen können Sie MetaMask so dezentral wie Mist ausführen, indem Sie es auf Ihren lokalen RPC richten. Auf diese Weise können Sie eine DApp entwickeln, die sowohl Mist- als auch Metamask-kompatibel ist, und Ihre Benutzer können ihre eigenen Blockchain-Verbindungen nach ihren Bedürfnissen definieren.

Danke, gut zu wissen, dass Sie MetaMask auf Ihren lokalen JSON-RPC-Knoten verweisen können.

Sie haben Recht, Metmask ist ein "Proxy" oder eine Brücke zwischen Ihrem normalen Browser und dem Ethereum-Netzwerk. Um Ihre Dapp auszuführen, müssen Sie also verwenden, wenn Sie Chrome bevorzugen.

Warum brauchen wir es? Da Chrome nicht weiß, wie Sie Ihre Dapps speziell ausführen sollen, um die web3js auszuführen, um Transaktionen zu senden oder mit dem Ethereum-Knoten zu kommunizieren, können Sie nur das Frontend (HTML/Css/Javascript) ausführen.

Sie könnten Mist verwenden , einen dedizierten Browser für Dapps. oder Sie können Ihren Befehl direkt über RPC an Ihren Knoten senden, ohne einen Browser zu verwenden.

Bezüglich Sicherheit: Holen Sie sich RPC-Verbindungen sicher

Gibt es eine empfohlene/sichere Möglichkeit, ein Konto über die Web3-Schnittstelle/HTML-Seite sicher zu entsperren?

Wenn ich Sie gut verstanden habe, ist es nicht möglich, Web3 in Chrome zu verwenden, ohne Metamask zu verwenden? Weil es eine vollwertige API ist, die alle web3-Methoden offenlegt?
Exakt. Chrome ist nicht für die Kommunikation mit Ethereum-Clients ausgelegt