问题描述
我在Substrate的第一篇教程中,在Linux的Windows Subsystem上运行衬底。底物网络运行正常,但是当我在浏览器中打开前端时,出现此错误:
解决方法
由于您在子系统上运行,因此建议您检查网络配置。这是我的帮助: Sharing Network Resources WSL
,我遇到并解决了此问题。您知道,WSL与主机共享相同的IP。您应该确保您的wsl的IP与您的前端连接的IP相同。通常,它是相同的。我刚刚关闭了wls终端控制台窗口,然后重新打开它,就可以了!我不知道为什么,也许是wsl的错误导致了它。祝你好运,伙计!
,根据我的经验,让 Windows 和 WSL 通过 localhost 进行通信很棘手,而且容易摔倒。我通过使用 WSL 的内部网络 IP 地址解决了这个问题。
当您运行前端服务器 (yarn start) 时,它会向您显示可用于打开前端的内部网络 IP。或者你可以运行
ip addr | grep -E "\b*inet.*global" | sed -E s/inet(.*)\/.*/\1/
(我从 https://github.com/microsoft/WSL/issues/4636 那里得到的)
接下来,您必须使用 --ws-external 标志(除了 --dev 和 --tmp 标志)运行节点模板,以便它绑定到 0.0.0.0 并允许您连接到从窗户。
最后,您必须编辑 src/config/development.json,以便 PROVIDER_SOCKER 变量使用内部 IP 地址而不是 127.0.0.1。