Ich erhalte diesen Fehler mit meiner Metamaske, RPC-Fehler: Interner JSON-RPC-Fehler

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 FehlerGeben Sie hier die Bildbeschreibung ein

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);
    });
},
Sieht so aus, als würde der Smart Contract einen Fehler zurückgeben?
@yangli-io nein, es ist ein Metmask-Fehler, ich führe einen Test für meinen Smart Contract durch und alles funktioniert gut
Authentifizieren Sie sich von Metamask, bevor Sie eine Methode aufrufen? Sieht so aus, als hätten Sie mehrere Konten in Metamask und bleiben bei der falschen Authentifizierung hängen

Antworten (1)

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.