元掩码未连接到 localhost 8545

Posted

技术标签:

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

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

【问题讨论】:

【参考方案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。

以上是关于元掩码未连接到 localhost 8545的主要内容,如果未能解决你的问题,请参考以下文章

如何将元掩码连接到 dapp?

无法连接到节点 http://localhost:8545

无法连接到节点http:// localhost:8545

Web3 元掩码连接无法读取未定义的属性(读取“以太坊”)

Android模拟器未连接到localhost api

部署到Heroku后,Localhost未连接到mongodb