您好,登錄后才能下訂單哦!
今天就跟大家聊聊有關Metamask如何正常訪問以太坊賬戶,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結了以下內容,希望大家根據這篇文章可以有所收獲。
當你使用Metamask測試以太坊DApp時,如果出現莫名其妙的問題,檢查一下web3.eth.accounts是否可以獲取到賬戶,如果不能獲取的話,那么最大的可能是你使用了新版的Metamask,并且默認啟用了隱私模式。
有兩種辦法來讓你的DApp可以正常訪問Metamask管理的賬戶:關閉隱私模式,或者修改代碼使其兼容隱私模式。
在metamask中首先進入設置,然后點擊security & privacy,在隱私模式菜單,選擇關閉隱私模式即可:
在2018年11月,Metamask剛引入隱私模式時,該選項默認是關閉的。但是在最新的版本中,已經默認開啟了隱私模式。要求每個用戶都手動關閉隱私模式是不現實的,因此更好的方案是修改我們的JavaScript代碼來兼容隱私模式:
window.addEventListener('load', async () => { // Modern dapp browsers... if (window.ethereum) { window.web3 = new Web3(ethereum); try { // Request account access if needed await ethereum.enable(); // Acccounts now exposed web3.eth.sendTransaction({/* ... */}); } catch (error) { // User denied account access... } } // Legacy dapp browsers... else if (window.web3) { window.web3 = new Web3(web3.currentProvider); // Acccounts always exposed web3.eth.sendTransaction({/* ... */}); } // Non-dapp browsers... else { console.log('Non-Ethereum browser detected. You should consider trying MetaMask!'); } });
使用window.ethereum
來判斷是否新版metamask,如果是的話,就調用ethereum.enable()
方法來請求用戶授權,這將在用戶網頁中彈出一個授權對話框,類似如下:
看完上述內容,你們對Metamask如何正常訪問以太坊賬戶有進一步的了解嗎?如果還想了解更多知識或者相關內容,請關注億速云行業資訊頻道,感謝大家的支持。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。