我创建了一个DApp,它使用MetaMask与ethereum块链进行交互。DApp在桌面浏览器中工作出色,同时使用MetaMask作为浏览器扩展。现在,我想确认一下,我的DApp也可以从手机上访问。要做到这一点,我使用的MetaMask应用程序,我可以登录到我的钱包和眉毛到我开发的DApp。然而,要使用DApp,我首先必须将我的MetaMask帐户连接到这这样的网站。
现在,我的问题是,如何将我的MetaMask帐户连接到MetamMask应用程序浏览器中的DApp (如图中所示)?我无法找到任何按钮或设置属性来这样做。我试图搜索如何通过DApp应用程序连接到MetaMask,并发现了以下内容(来源):
注意,当您访问Web3站点时,如何连接您的MetaMask帐户?MetaMask将永远不会与一个网站分享你的公共地址,除非你给它许可。这意味着您总是在私下浏览,并控制与应用程序共享的数据。它也使得在不同的应用程序之间浏览变得很容易,而无需每次创建一个新的帐户。
这是我在DApp中用来连接到MetaMask的代码:
import Web3 from 'web3';
//current provider is the provider injected by MetaMask
let web3;
//typeof is used to check if window is defined
if (typeof window !== 'undefined' && typeof window.web3 !== 'undefined') {
// We are in the browser and metamask is running.
//Connect metamask to the webapp
window.ethereum.enable();
web3 = new Web3(window.web3.currentProvider);
} else {
// We are on the server *OR* the user is not running metamask
const provider = new Web3.providers.HttpProvider( 'https://ropsten.infura.io/v3/KEY');
web3 = new Web3(provider);
}
export default web3;发布于 2022-06-10 18:39:44
我最近处理了这个问题,我还需要确保MM从浏览器连接到移动应用程序。
你能做的是:
https://ethereum.stackexchange.com/questions/98068
复制相似问题