Web3js

如何將你的反應乙太坊項目與 MetaMask 錢包連接起來?

  • November 13, 2020

我正在乙太坊網路上開發一個 ReactJs 區塊鏈應用程序。如何使用 MetaMask 錢包而不是本地 ganache 帳戶。

import web3 from 'Web3';
const web3 = new Web3("localurl"); 

查看本指南。總結一下:首先檢查web3是否已經存在。如果是,則使用 web3.currentProvider 初始化一個 Web3 對象。否則,請使用您節點的 URL

var web3 = new Web3();
   if (window.ethereum) {
     web3 = new Web3(window.ethereum);
     try {
       window.ethereum.enable().then(function() {
         // User has allowed account access to DApp...
       });
     } catch (e) {
       // User has denied account access to DApp...
     }
   }
   // Legacy DApp Browsers
   else if (window.web3) {
     web3 = new Web3(web3.currentProvider);
   }
   // Non-DApp Browsers
   else {
     alert("You have to install MetaMask !");
   }
   window.ethereum.enable();
   console.log(" typoe of = ", typeof web3);
   if (typeof web3 != "undefined") {
     this.web3Provider = web3.currentProvider;
     window.ethereum.enable();
   } else {
     this.web3Provider = new Web3.providers.HttpProvider(
       "http://127.0.0.1:8545"
     );
     window.ethereum.enable();
   }
 

引用自:https://ethereum.stackexchange.com/questions/46451