Ich erhalte diesen Fehler, wenn ich versuche, Metamask auf meinem Gancache-Lokal für eine einfache Transaktion zu verwenden. Metamask ist mit meinem Ganache verbunden. Dies ist der Fehler
und so habe ich meine methode genannt
packItem: function (event) {
event.preventDefault();
var processId = parseInt($(event.target).data('id'));
App.contracts.SupplyChain.deployed().then(function (instance) {
return instance.packItem(App.upc, { from: App.metamaskAccountID });
}).then(function (result) {
$("#ftc-item").text(result);
console.log('packItem', result);
}).catch(function (err) {
console.log(err.message);
});
},
Sie verwenden das falsche Konto, um auf "diesen Artikel" zuzugreifen. Dies hat nichts mit Metamask oder einem Codefehler zu tun.
Sie haben einfach nicht die Rechte für einen bestimmten Artikel auf dem Smart Contract, den Sie aufrufen, und der Vertrag macht die Transaktion mit dem angezeigten Fehler rückgängig.
Es sieht aus wie ein Codefehler, weil web3 oder die Bibliothek, die Sie verwenden, alle Transaktionsfehler gleich handhaben, egal ob es sich um Unterfinanzierung oder schlechte Daten oder allgemeine Behauptungen im Smart Contract handelt, alle auf die gleiche Weise.
yangli-io
Rami Fahd
CodingWithRoyal