Die Grundgebühr überschreitet das Gaslimit beim Herstellen einer Verbindung mit einer lokalen Instanz von testrpc in der Remix IDE

Hinweis: Ich habe bereits die verwandten Links mit ähnlichen Fragen besucht, aber ich habe keine Lösung gefunden, mit der ich das Problem lösen könnte, mit dem ich konfrontiert bin.

Ich folge diesem Coursetro-Tutorial , das im Grunde diejenigen anleitet, die neu in Blockchain sind, um einen einfachen Smart Contract zu erstellen. Der Vertrag ist wie folgt definiert:

pragma solidity ^0.4.18;

contract Coursetro {

string fName;
uint age;

function setInstructor(string _fName, uint _age) public {
    fName = _fName;
    age = _age;
}

function getInstructor() public constant returns (string, uint) {
    return (fName, age);
}
}

Wenn ich jedoch die Umgebung in der Remix-IDE von Javascript env zu Web 3 env ändere (um eine Verbindung zur lokal auf dem Terminal ausgeführten testrpc-Instanz herzustellen), erhalte ich die folgende Fehlermeldung:

creation of browser/Coursetro.sol:Coursetro pending...
creation of browser/Coursetro.sol:Coursetro errored: Error: base fee 
exceeds gas limit
at runCall (/usr/local/lib/node_modules/ethereumjs-
testrpc/build/cli.node.js:70875:17)
at /usr/local/lib/node_modules/ethereumjs-
testrpc/build/cli.node.js:12643:24
at replenish (/usr/local/lib/node_modules/ethereumjs-
testrpc/build/cli.node.js:9736:17)
at iterateeCallback (/usr/local/lib/node_modules/ethereumjs-
testrpc/build/cli.node.js:9721:17)
at /usr/local/lib/node_modules/ethereumjs-
testrpc/build/cli.node.js:9696:16
at /usr/local/lib/node_modules/ethereumjs-
testrpc/build/cli.node.js:12648:13
at /usr/local/lib/node_modules/ethereumjs-
testrpc/build/cli.node.js:67073:16
at replenish (/usr/local/lib/node_modules/ethereumjs-
testrpc/build/cli.node.js:67020:25)
at /usr/local/lib/node_modules/ethereumjs-
testrpc/build/cli.node.js:67029:9
at eachLimit (/usr/local/lib/node_modules/ethereumjs-
testrpc/build/cli.node.js:66953:36)

Ich verstehe, dass die Gebühr für die Ausführung eines Vertrags niemals das festgelegte Gaslimit überschreiten darf, aber in diesem Fall kann ich nicht ableiten, wo das Gaslimit festgelegt werden soll. Ich bin neu in diesem Bereich, also bitte leiten Sie mich an, wie ich den obigen Fehler beheben kann.

es funktioniert auch nicht. Ich habe testrpc -l 3000000 ausprobiert, aber in Remix wird mir immer noch die Fehlermeldung angezeigt.

Antworten (4)

Hier ist die Lösung: Sie müssen Ihr Konto in Remix zunächst mit 100 Ether (100eth) initialisieren. Dann habe ich auch meine testrpc-Version auf 4.1.3 geändert und es hat funktioniert! do : npm install -g ethereumjs-testrpc@4.1.3 hoffe das hilft!

testrpc -l 30000000

Hat den Trick für mich getan. -l wird ein benutzerdefiniertes Gaslimit festlegen, in diesem Fall 30000000.

https://www.npmjs.com/package/ethereumjs-testrpc

npm install -g ethereumjs-testrpc@4.1.3

hat für mich funktioniert.

Ich habe meine Version auf 4.1.3 geändert und es hat funktioniert! Ausführen: npm install -g ethereumjs-testrpc@4.1.3

Damit ist die Frage nicht beantwortet. Sobald Sie über einen ausreichenden Ruf verfügen , können Sie jeden Beitrag kommentieren . Geben Sie stattdessen Antworten an, die keine Klärung durch den Fragesteller erfordern . - Aus Bewertung