MetaMask RPC 错误? “MetaMask - RPC 错误:内部 JSON-RPC 错误”

问题描述

我正在开发我要测试的应用程序的前端。但是,MetaMask 不断给我这个错误?我尝试像之前建议的那样更改气体限制,但什么也没改变。有什么想法吗?

错误MetaMask - RPC 错误:内部 JSON-RPC 错误

代码:-32603 数据:{代码:-32000,消息:“所需的气体超过限额(30000000)或总是失败的交易”} 消息:“内部 JSON-RPC 错误。”

解决方法

没有看到代码,很难确定,但您可以尝试:

  1. 检查您在前端更改的任何代码,特别是在您的代码中,您可能有以下内容:
const contractInstance = new state.web3.eth.Contract(
    MyContract.abi,"0x.....",// contract address
    {
        from: state.accounts[0],gasPrice: 1000,gas: 100000
    }
);

确保汽油价格与那些相似,您可能需要根据您的情况进行调整。

  1. 重新编译和重新部署 --> 对于 truffle,首先运行 truffle develop,然后是 compile,然后是 migrate --reset 用于本地部署。

  2. 在 Metamask 中,重置您的测试帐户。 Metamask > 选择帐户 > 设置 > 高级 > 重置帐户。 仅对测试帐户执行此操作

,

以前由于已修复的 gas 规格问题,它曾经发生在旧版本中。 rpcErrors.internal` 需要一个字符串作为第一个参数,任意数据作为可选的第二个参数。传入一个非 字符串第一个参数导致错误被错误掩盖 来自 eth-json-rpc-errors。

请检查您传递给 Metamask 的内容。

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...