TestRPC/Ganache:tx没有正确的nonce

use*_*664 31 node.js ethereum truffle metamask

我最近一直在尝试使用松露,并遵循以下教程:http://truffleframework.com/tutorials/pet-shop

每当我尝试设置事务时,我都会在下面遇到相同的错误

错误:错误:tx没有正确的nonce.account hasce of:14 tx hasce of:0

在网上查看并阅读了很多与此相关的文章,但到目前为止还没有找到可能导致此问题的原因.

  • 松露v3.4.7
  • Solidity v0.4.13
  • Npm v5.3.0
  • TestRPC v4.0.1(也适用于Ganache)
  • Metamask v3.9.5

根据我的理解,它似乎无法找到以前的事务来散列新的事务?

Muh*_*bba 40

使用MetaMask,v3.14.1您可以重置您的帐户,如下所示:

重置帐户在"设置"菜单中,MetaMask具有"重置帐户"按钮.此按钮擦除当前帐户的交易历史记录,该历史记录用于计算当前帐户的现时值.

在此输入图像描述

普通用户永远不应该有理由使用此功能.

这对于重置测试网络但希望继续使用同一帐户的开发人员非常有用,这迫使MetaMask认为此网络ID是处于新状态的干净网络.

参考:http://metamask.helpscoutdocs.com/article/36-resetting-an-account

(感谢Tim Wu)


旧的回答:yatskevich的答案是正确的.

然而,对于人们如何使用Truffle 4+进行"松露开发",你需要删除并重新安装MetaMask,以便每次运行Truffle Develop时再次使用它!

这个问题在这里解决: https: //github.com/trufflesuite/truffle/issues/681,这里:https://github.com/trufflesuite/ganache/issues/112,还有这里:https:// github. COM/metaMask/metamask扩展/问题/ 1999

总之,他们正在努力,同时你需要每次都重新安装MetaMask!


yat*_*ich 30

尝试在MetaMask中重新连接到TestRPC网络:

  1. 选择Main Ethereum Network(或Localhost 8545以外的任何其他)
  2. Localhost 8545再次选择

停止并启动一个新的TestRPC节点后,我偶然发现了这个问题.