web-dev-qa-db-ja.com

TestRPC / Ganache:txに正しいナンスがありません

私は最近トリュフを実験しており、次のチュートリアルに従いました: http://truffleframework.com/tutorials/pet-shop

トランザクションをセットアップしようとするたびに、以下と同じエラーが発生し続けます

エラー:エラー:txに正しいナンスがありません。アカウントのナンス:14 txのナンス:0

オンラインで確認し、これに関連する多くの記事を読んでいますが、これまでのところ、この問題の原因となるものを発見していません。

  • トリュフv3.4.7
  • Solidity v0.4.13
  • Npm v5.3.0
  • TestRPC v4.0.1(Ganacheでも発生)
  • メタマスクv3.9.5

私が理解していることから、新しいトランザクションをハッシュするために以前のトランザクションを見つけることができないようです?

31
user1664

MetaMaskを使用するv3.14.1次のようにアカウントをリセットできます。

アカウントのリセット[設定]メニューには、MetaMaskの[アカウントのリセット]ボタンがあります。このボタンは、現在の口座のノンスを計算するために使用される現在の口座の取引履歴を消去します。

enter image description here

通常のユーザーには、この機能を使用する理由はないはずです。

これは、テストネットワークをリセットしたが、同じアカウントの使用を継続したい開発者にとって便利です。MetaMaskに、このネットワークIDは新しい状態のクリーンなネットワークであると思わせます。

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

(おかげで Tim W


古い応答:yatskevichの答えは正しいです。

ただし、Truffle 4+を "truffle開発"で使用する方法については、Truffle Develop!を実行するたびにMetaMaskを削除して再インストールし、動作させる必要があります。

この問題はここで解決されます: https://github.com/trufflesuite/truffle/issues/681 、ここ: https://github.com/trufflesuite/ganache/issues/112 、およびこちら: https://github.com/MetaMask/metamask-extension/issues/1999

要するに、彼らはそれに取り組んでおり、その間にあなたは毎回MetaMaskを再インストールする必要があります!

40

MetaMaskでTestRPCネットワークに再接続してみてください。

  1. Main Ethereum Network(またはLocalhost 8545以外)を選択します
  2. Localhost 8545をもう一度選択します

新しいTestRPCノードを停止して起動すると、この問題に出くわしました。

30
yatskevich

truffle.jsまたはtruffle-config.js

以下のようなHDWalletProviderを使用している場合、これがエラーの原因であると思われます

var HDWalletProvider = require("truffle-hdwallet-provider");
var mnemonic = "your mnemonic";

module.exports = {
  networks: {
    development: {
      provider: function() {
        return new HDWalletProvider(mnemonic, "http://127.0.0.1:8545/", 0, 50);
      },
      network_id: '*',
      gas: 9999999
    }
  },
  compilers: {
    solc: {
      version: "^0.4.25"
    }
  }
};

以下のようにHDWalletProviderを削除すると、私の問題が解決します

module.exports = {
  networks: {
    development: {
      Host: "127.0.0.1",     // Localhost
      port: 8545,            // Standard Ganache UI port
      network_id: "*", 
      gas: 4600000
    }
  },
  compilers: {
    solc: {
      version: "0.5.2"
    }
  }
};
0
grandia