RPC错误-Metamask中的有效字符串HTTPs-RPC



在我的项目中,我尝试连接Ganache上的元任务。但我犯了如下错误。

inpage.js:1 MetaMask-RPC错误:应为至少具有一个有效字符串HTTPS url"rpcUrls"的数组,接收到:
http://127.0.0.1:7545/
代码:-32602
消息:"应为至少具有一个有效字符串HTTPS url"rpcUrls"的数组,已收到。。。

请让我知道如何修复它。

我假设您的代码如下所示:

await ethereum.request({
method: 'wallet_addEthereumChain',
params: [
{
chainId: '0x539',
chainName: 'Gananche',
rpcUrls: 'http://127.0.0.1:7545/'
}
]
});

rpcUrls值必须是一个数组,但从错误消息来看,它看起来像是在传递一个字符串。要解决此问题,请将值设为如下数组:

await ethereum.request({
method: 'wallet_addEthereumChain',
params: [
{
chainId: '0x539',
chainName: 'Gananche',
rpcUrls: ['http://127.0.0.1:7545/'] // Is now an array
}
]
});

您可以安装localtunnel-to-tunneling到本地HTTPS服务器

npm安装-g本地隧道

然后使用命令行接口请求到本地服务器的隧道:

lt--端口7545

将创建一个url(例如:https://wise-mule-dig-195-131-122-13.loca.lt/)打开创建的url并点击按钮";单击以继续";

之后你可以使用这个新的url而不是http://127.0.0.1:7545/

我也遇到过同样的问题,我相信这是因为不安全的http url,因为它允许我传递相同的参数,将http更改为https。所以当地隧道可能会像Patrikoko说的那样对你有用吗?

另一种保持一切本地化的可能性是:https://www.npmjs.com/package/local-ssl-proxy这为它提供了一个自签名证书

在github自述文件中,它表示您也可以使用自己的可信证书为其提供服务:https://github.com/cameronhunter/local-ssl-proxy#readme

local-ssl-proxy --key localhost-key.pem --cert localhost.pem --source 9001 --target 9000

最新更新