So verwenden Sie Metamask für Ethereum Dapp

Ich versuche, eine Anwendung mit Ethereum zu erstellen, bei der node.js verwendet wurde, um Methoden von Smart Contract und Angle als Frontend aufzurufen. Ich möchte die Metamask-Wallet verwenden, damit meine Anwendung sie automatisch erkennen kann und der Wallet-Inhaber die Funktionalität der Plattform nutzen kann, indem er mehrere Methoden des Smart Contract verwendet.

Aber ich nehme an, es braucht das injizierte web3, das von metamask bereitgestellt wird. Wie kann ich dieses injizierte Web3 an die Knotenschicht senden, damit es die Web3-Funktionalität nutzen kann.

Jede Unterstützung ist bewundernswert.

Antworten (3)

Im Allgemeinen sollte jeder Ihrer JavaScript-Code, der im Browser ausgeführt wird, automatisch lesen können web3, oder genauer gesagt window.web3, sobald die Seite geladen ist.

Siehe die Metamask README für die normale Art und Weise zu suchen web3und ihm mitzuteilen, mit welchem ​​Knoten er kommunizieren soll. Möglicherweise interessiert Sie auch Besseres Muster zum Erkennen des Web3-Standardkontos bei der Verwendung von Metamask für Diskussionen über alternative Möglichkeiten, dies zu handhaben.

(Es ist möglich, dass es ein bestimmtes Problem mit Angular gibt - wenn Sie auf eines stoßen, posten Sie bitte erneut und sagen Sie, was passiert.)

Wie kann ich dieses injizierte Web3 an die Knotenschicht senden, damit es die Web3-Funktionalität nutzen kann.

Überhaupt nicht. Mit Metamask ist Web3 ein Objekt, das in die Website eingefügt wird, auf der sich der Benutzer befindet. Sie können es nicht an eine nodejs-Anwendung "senden".

Sie müssen das Web3-Paket in node.js einschließen. zB web3=require("web3"); npmjs.com/package/web3

Sie müssen das web3-Paket in Ihrer node.js-Anwendung benötigen. Weitere Informationen finden Sie unter https://www.npmjs.com/package/web3 .