Ich entwickle einen intelligenten Vertrag über eine private Blockchain mit dem Truffle-Framework.
Der entwickelte Smart Contract lief gut, heute wurde uns eine pure
Methode gemäß den Anforderungen vorgestellt. Danach beginnt die Truffle-Migration mit einer Fehlermeldung:
Error encountered, bailing. Network state unknown. Review successful transactions manually.
Error: The contract code couldn't be stored, please check your gas amount.
Wenn ich jedoch einige Speichervariablen entferne, funktioniert es wieder. Da das Gaslimit beim Graben kein Problem darstellt, erfordert die Bereitstellung intelligenter Verträge die Hälfte des für einen Block angegebenen Gases.
Hier sind einige häufig gestellte Fragen:
F: Welche Parameter haben Sie entfernt, damit es funktioniert?
A: Einfache Adressvariable:
//address public owner;
constructor() public {
//owner = msg.sender;
}
F: Könnten Sie bitte Ihren Code zeigen?
A: Ich kann nicht, wegen der Vertraulichkeit ist auch der Code riesig.
F: Welches Gaslimit haben Sie in der Truffle-js-Datei angegeben?
A: 4712388
F: Haben Sie versucht, das Gaslimit zu erhöhen?
A: Ja, aber kein Glück.
Edit: Vertragsstruktur
import "./ContractB.sol";
Contract A is ContractB{
constructor() public {
owner = msg.sender;
index = 0;
userID = 0;
}
}
import "./ContractC.sol";
Contract B is ContractC{
}
Contract C {
}
Der Fehler tritt bei der Migration von auf ContractA
und eine neue Funktion wurde hinzugefügt ContractB
.
Einzeilige Antwort: Dieses Problem wird einfach gelöst, indem das GAS-Limit in Geth erhöht wird.
Henk
Abt
Abt
Henk
Abt
Abt