Web3js
使用元遮罩連接 web3 v 1.2.1 的問題:未定義的“currentProvider”
我正在使用帶有nodejs v10的****Web3 v1.2.1並遵循此連結。我在連接元遮罩時遇到問題,下面是我的程式碼片段:
const Web3 = require('web3') const window = require('window'); const web3 = new Web3(window.Web3.currentProvider);
錯誤說 TypeError: Cannot read property ‘currentProvider’ of undefined
我想從 metamask 訪問地址,有人可以幫我嗎
Metamask 是一個瀏覽器擴展,因此您只能在瀏覽器中使用它。
您可以通過以下方式執行此操作:
創建一個文件 web3-require.js:
Web3=require('web3');
安裝 web3 和 browserify
npm install web3 npm install browserify
創建 web3 的瀏覽器版本:
browserify web3-require.js -o web3-browserify.js
創建 test.html:
Test metamask <script src="./web3-browserify.js"></script> <script type="text/javascript"> web3 = new Web3(Web3.givenProvider); ethereum.enable().then ( (x) => { alert(`Found address ${x[0]} with web3.js version ${web3.version}`); } ); </script>
從網路伺服器執行它(否則元遮罩不會插入“乙太坊”)