默认情况下,从11月2日起元面具将不再公开用户帐户,我们必须这样做。我很困惑我们应该如何把它整合到我们的dapps中。
例如,我有一个具有以下代码的标准web3.js文件:
import Web3 from 'web3';
let web3;
if (typeof window !== 'undefined' && typeof window.web3 !== 'undefined') {
// metamask is running
web3 = new Web3(window.web3.currentProvider);
} else {
//user is not running metamask
// create provider through infura
const provider = new Web3.providers.HttpProvider(
// pass url of remote node
'https://rinkeby.infura.io/v3/censored'
);
web3 = new Web3(provider);
}
export default web3;更改应该在web3.js文件中进行吗?或者,我是否应该在网站上创建一个按钮,用户必须点击这个按钮才能访问他的MetaMask帐户?
发布于 2018-11-06 22:03:54
找到解决办法了!您很可能有一个web3.js文件,您可以导出到您的默认应用程序。解决办法很简单:
import Web3 from 'web3';
let web3;
if (window.ethereum) {
// metamask is available
window.ethereum.enable();
web3 = new Web3(window.web3.currentProvider);
} else {
//user is not running metamask
// create provider through infura
const provider = new Web3.providers.HttpProvider(
// pass url of remote node
'https://rinkeby.infura.io/v3/censored'
);
web3 = new Web3(provider);
}
export default web3;https://ethereum.stackexchange.com/questions/61466
复制相似问题