J'ai expérimenté la truffe récemment et j'ai suivi le tutoriel suivant: http://truffleframework.com/tutorials/pet-shop
Chaque fois que j'essaie de configurer une transaction, je reçois toujours la même erreur ci-dessous
Erreur: Erreur: le tx n'a pas le nonce correct. compte a nonce de: 14 tx a nonce de: 0
Vérifié en ligne et lu de nombreux articles à ce sujet, mais jusqu'à présent, je n'ai pas trouvé ce qui pourrait causer ce problème.
D'après ce que je comprends, il semble qu'il ne soit pas en mesure de trouver les transactions précédentes pour hacher la nouvelle transaction?
Utilisation de MetaMask v3.14.1
vous pouvez réinitialiser votre compte comme suit:
Réinitialisation d'un compte Dans le menu Paramètres, MetaMask dispose d'un bouton "Réinitialiser le compte". Ce bouton efface l'historique des transactions du compte courant, qui est utilisé pour calculer le nonce du compte courant.
Les utilisateurs normaux ne devraient jamais avoir de raison d'utiliser cette fonctionnalité.
Ceci est utile pour les développeurs qui réinitialisent un réseau de test mais souhaitent continuer à utiliser le même compte, forçant MetaMask à croire que cet ID réseau est un réseau propre à l'état neuf.
Réf: http://metamask.helpscoutdocs.com/article/36-resetting-an-account
(Merci à Tim W )
Ancienne réponse: La réponse de yatskevich est correcte.
Cependant, pour ceux qui utilisent Truffle 4+ avec "truffle develop", vous devez supprimer et réinstaller MetaMask pour le faire fonctionner à nouveau chaque fois que vous exécutez Truffle Develop!
Ce problème est résolu ici: https://github.com/trufflesuite/truffle/issues/681 , ici: https://github.com/trufflesuite/ganache/issues/112 , et aussi ici: https://github.com/MetaMask/metamask-extension/issues/1999
En bref, ils y travaillent et en attendant, vous devez réinstaller MetaMask à chaque fois!
Essayez de vous reconnecter à votre réseau TestRPC dans MetaMask:
Main Ethereum Network
(ou tout autre que Localhost 8545)Localhost 8545
encoreJ'ai rencontré ce problème après avoir arrêté et démarré un nouveau nœud TestRPC.
Vérifier votre truffle.js
ou truffle-config.js
si vous utilisez le HDWalletProvider
comme ci-dessous, il semble que ce soit la cause de l'erreur
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"
}
}
};
supprimer le HDWalletProvider comme ci-dessous, il résout le mien
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"
}
}
};