【问题标题】:ReferenceError: Cannot access 'web3' before initializationReferenceError:初始化之前无法访问“web3”
【发布时间】:2020-04-01 21:54:35
【问题描述】:

chrome-browser-output chrome-console

安装 create-react-app 包,然后创建 web3.js 文件并将 console.log(web3.version) 添加到 App.js 文件后,我收到上述错误,我不确定如何修复它并让它发挥作用。

我也尝试了以下方法,但仍然抛出相同的错误。

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!');
}
});

【问题讨论】:

    标签: node.js ethereum web3 metamask


    【解决方案1】:

    如果您还没有调用window.ethereum.enable();,可能会发生错误。

    【讨论】:

      猜你喜欢
      • 2020-12-29
      • 2021-09-10
      • 2020-10-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-16
      • 2021-09-30
      相关资源
      最近更新 更多