微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

MetaMask - RPC 错误:错误:[ethjs-query] 同时格式化来自 RPC 的输出

如何解决MetaMask - RPC 错误:错误:[ethjs-query] 同时格式化来自 RPC 的输出

我对以太坊智能合约可靠性编程非常陌生。目前,当我尝试将变量从我的 Node.js servlet 传递到我使用 Truffle Suite 部署的智能合约时,我一直面临这个问题,特别是使用 Ganache 提供的帐户。

以下是我用来连接和调用智能合约方法的JavaScript:

10

以下是智能合约中的 solidity 代码

if (this.state.contract) {
            this.state.contract.methods.searchKeyword(searchToken.toString())
                .send({from: this.state.account,gas: 210000,gasPrice: 50000},function (err,res) {
                    if (err) {
                        console.log("Error",err)
                        return
                    }
                    console.log(res)
                })
        }

每当我调用函数并传递 function searchKeyword (string memory searchToken) public { searchWord = searchToken; } 时,都会弹出以下错误。我曾尝试将 gas 和 gasPrice 设置在我的 MetaMask 钱包的 gasLimit 以上、之内、以下,但我仍然收到诸如 searchToken 之类的错误。我试过没有设置 gas 和 gasPrice,但我仍然遇到类似的问题。

enter image description here

任何天才都请帮助我这个菜鸟初学者,他努力调试一个小功能。提前谢谢你们:D

解决方法

我认为这里的问题是,当您“truffle deploy --reset”时,Ganache 区块链希望每个用户的“program_counter”再次从 0 开始。因此,您还必须在您的 Metamask 帐户上重新启动 program_counter。 Metamask Settings -> Advanced -> Reset Account 为您的 Metamask 帐户重新启动 program_counter。这对我有用!

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。