【问题标题】:Metamask not connecting to localhost 8545元掩码未连接到 localhost 8545
【发布时间】:2021-12-15 11:41:55
【问题描述】:

我正在尝试遵循 devto.io 的教程并将交易发送到智能合约,我需要使用运行 npx hardhat node 命令时创建的帐户之一连接我的 MetaMask 钱包。 为此,我打开 MetaMask 并将网络更新为 Localhost 8545,但 Metamask 没有连接到它并显示如下屏幕截图所示的错误。

【问题讨论】:

    标签: solidity metamask hardhat


    【解决方案1】:

    我认为您可能在输入时中断了您启动的节点:

    npx hardhat node
    

    您应该让它继续运行,为教程的其余部分打开另一个终端。 您也可以检查此命令的输出。它是否表示其他内容? :

    Started HTTP and WebSocket JSON-RPC server at http://127.0.0.1:8545/
    

    【讨论】:

    • 感谢您的回答。但我按照你说的让它继续运行。
    • 好的。您的机器上是否有任何东西阻塞了端口 8545?
    • 当您部署第一个合约时,您运行 >npx 安全帽节点时终端中显示的内容是什么? (应该有类似“console.log: Deploying a Greeter with greeting: Hello, Hardhat!”)当你尝试连接 metamask 时,你能看到同一个终端打印的任何错误吗?
    • 没有错误,如你上面写的那样显示。
    【解决方案2】:

    您可能有一个未在该端口上侦听的 IPv6 地址。

    例如

    $ ping localhost
    PING localhost.localdomain (::1)...
    

    要么从/etc/hosts 中删除该行(例如::1 localhost.localdomain localhost),要么将ethermask 指向127.0.0.1 而不是localhost

    【讨论】:

      【解决方案3】:

      错误最简单,你可能认为,metamask 中测试网络的默认链 id 与 hardhat 链 id 不一样,你应该去 metamask,然后 config,networks,localhost 并将链 id 更改为 31337

      【讨论】:

      • 感谢您的回答。但当然,我确实将链 id 更改为 31337。
      猜你喜欢
      • 2018-12-26
      • 2021-10-07
      • 1970-01-01
      • 2020-07-02
      • 2016-08-03
      • 2018-12-05
      • 2019-03-08
      • 2019-10-18
      相关资源
      最近更新 更多