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.
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.
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
Tarik EN-NAKDI