在我的项目中,我尝试连接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