Ungültige JSON-RPC-Antwort: ""

Wenn ich versuche, eine Write-Funktion des im Rinkeby-Netzwerk bereitgestellten Smart Contract mit Trüffel aufzurufen, erhalte ich error Invalid JSON RPC response: "".

Können Sie bitte helfen, was dieses Problem verursacht und wie es behoben werden kann. Es ist etwas dringend. Danke.

Inhalt meiner truffle.js-Datei ist:

const HDWalletProvider = require("truffle-hdwallet-provider-privkey");
const privKey = "my-address's private key from which i want to deploy it"; 

module.exports = {
 networks: {
     development: {
        host: "localhost",
        port: 8545,
        network_id: "*" // Match any network id
     },
     rinkeby: {
         provider: function() {
              return new HDWalletProvider(privKey, "https://rinkeby.infura.io/mytokenid");
         },
         network_id: 4,
         gas: 7003605,
         gasPrice: 21,

    }
  }
};
gasPrice sieht sehr niedrig aus, ich würde das anpassen. Stellen Sie sicher, dass Sie Ihren privaten Schlüssel korrekt kopiert haben und dass Sie den richtigen Infura-Link/API-Token haben. Hast du das Setup schon mit Ganache oder einer lokalen Instanz getestet? Bearbeiten: Auf den zweiten Blick sieht Ihre Infura-URL falsch aus, stellen Sie sicher, dass sie die Version "rinkeby.infura.io/v3/token" hat.

Antworten (2)

GasPrice wird auf Schnittstellen wie Metamask in GWeis gemessen, aber auf Truffle ist der GasPrice auf Weis, also ist 21 kein korrekter Wert, weil er zu niedrig ist .

Gemäß Truffle-Dokumentation:

Der Standardwert ist 100000000000

Um auf Testnetzen bereitzustellen, schreiben Sie einfach nicht in dieses Feld. Truffle erkennt dann automatisch den mittleren Gaspreis des Netzwerks und verwendet diesen Wert als Gaspreis für die Bereitstellung.

Ich hoffe es hilft!

Abgesehen davon, dass gasPrice wirklich niedrig ist, habe ich während der Arbeit mit infura festgestellt, dass, wenn etwas mit der Art und Weise, wie Sie Ihre Funktion aufrufen, nicht stimmt, dieser Fehler zurückgegeben wird. Ich bin noch neu dabei, aber vielleicht gibt es etwas in Ihrem Anruf, das infura nicht erkennt. Es könnte hilfreich sein, wenn Sie posten können, wie Sie die Funktion aufrufen.