Der Vertragscode konnte nicht gespeichert werden, bitte überprüfen Sie Ihre Gasmenge. Trüffel, privates Netz

Ich entwickle einen intelligenten Vertrag über eine private Blockchain mit dem Truffle-Framework.
Der entwickelte Smart Contract lief gut, heute wurde uns eine pureMethode 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 ContractAund eine neue Funktion wurde hinzugefügt ContractB.

F: Haben Sie alle abstrakten Methoden von übergeordneten Schnittstellen und abstrakten Verträgen implementiert?
A: Ich habe 3 Verträge und habe sie nach Funktionalität getrennt. Es gibt keine Schnittstelle oder abstrakte Verträge, ich verwende einfache Vererbung.
@Henk: aktualisierte Frage mit Vertragsstruktur
Danke. Es gibt also keine Funktionen ohne Körper in A, B oder C?
@Henk Nein, kein einziges.
@Henk: Gelöst :)

Antworten (1)

Einzeilige Antwort: Dieses Problem wird einfach gelöst, indem das GAS-Limit in Geth erhöht wird.