【问题标题】:Can't Inject Web 3 in my Dapp using MetaMask - Please assist无法使用 MetaMask 在我的 Dapp 中注入 Web 3 - 请协助
【发布时间】:2018-05-26 12:54:41
【问题描述】:

我有一个简单的 HTML 文件,其中包含以下代码,试图从 Chrome 连接到我的智能合约。

if (typeof web3 !== 'undefined') {
    web3 = new Web3(web3.currentProvider);
            console.log(web3);
        } else {
            // set the provider you want from Web3.providers
            web3 = new Web3(new Web3.providers.HttpProvider("http://localhost:8545"));
        }

使用我的 localhost:8545 代码可以完美运行,但是当我停止 localhost 时,它只是没有通过 MetaMask 插件连接。我尝试了一切,关闭浏览器,退出 MetaMask 并重新登录新页面,重新安装 MetaMask。没有任何效果。我的刷新页面一直在寻找本地主机连接。

【问题讨论】:

  • 您使用 metamask 连接到哪个网络?您可以使用元掩码连接到您的本地主机。
  • Marcos,我在尝试我的示例 DApp 时已连接到 Roopsten。 web3.currentProvider 仍然显示 LocalHost。我可以强制 web3.currentProvider 设置为 RoopSten 或我选择的任何其他网络吗?
  • 你自己有web3.js<script src="/somepath/web3.js"></script>吗?
  • 我没有专门包含任何 web3.js 文件。我依靠 metamask 注入。我需要吗?我是否可能需要在 Web 服务器中运行我的测试 HTML 文件以启用元掩码注入 web3?现在我正在尝试上面的代码,只需从我的 C: 驱动器启动 HTML 文件到 chrome。
  • 不,你不需要,但如果你是,那会导致你的错误。您要访问哪个 URL?console.log(web3) 会打印出来吗?

标签: ethereum smartcontracts web3 web3js metamask


【解决方案1】:

这可能是同一个问题。 https://ethereum.stackexchange.com/a/16133/45875

【讨论】:

    猜你喜欢
    • 2023-03-03
    • 2022-07-05
    • 2018-09-04
    • 2022-01-08
    • 2022-06-29
    • 1970-01-01
    • 2023-03-06
    • 2017-05-05
    • 2021-08-03
    相关资源
    最近更新 更多