Das Gaslimit ändert sich nicht [duplizieren]

Ich betreibe derzeit eine private Ethereum-Kette mit 2 Knoten. Meine Coinbase-Adresse auf dem Hauptknoten hat viel Ether, also wollte ich eine Transaktion durchführen, bekam aber den Fehler „Gas Limit überschritten“. Ich bemerkte, dass das Gaslimit auf 5000 eingestellt war, was zu niedrig ist, um eine Transaktion durchzuführen, also ging ich zur angepassten genesis.json-Datei und erhöhte das Limit auf „0xC350“ oder 50000. Trotzdem wurde das Limit nur auf 5003 verschoben. Ich habe Keine Ahnung, warum es das tut, und ich habe die Zahl durch andere größere Zahlen ersetzt, aber es schafft immer nur 5003 statt der Standardeinstellung 5000. Jede Hilfe wäre sehr willkommen.

Hier ist meine Genesis.json-Datei:

{
"nonce": "0x0000000000000042",
"timestamp": "0x0",
"parentHash":      "0x0000000000000000000000000000000000000000000000000000000000000000",
"extraData": "0x0",
"gasLimit": "0xC350",
"difficulty": "0x400",
"mixhash":"0x0000000000000000000000000000000000000000000000000000000000000000",
"coinbase": "0x3333333333333333333333333333333333333333",
"alloc":
{ 
"0xcf117e46aa225864ed1d0dd7e99b8b006abe3410":
{ "balance": "10000000000000000000000000" } 
}

}

Ich verwende Geth.

Antworten (1)

Ändern Sie nicht die Genesis-Datei, da dies die Dynamik der Blockchain verändert. Geth hat ein --targetgaslimitFlag, das den Miner veranlasst, sich einer bestimmten Zahl zu nähern, die dem fest codierten Wert entgegengesetzt ist.

Jeder Block hat eine Gasgrenze, die im Block selbst enthalten ist. Dieses Limit kann sich zwischen den Blöcken nur um einen bestimmten Betrag ändern (prev limit/1024, um genau zu sein). Ist die Änderung größer, wird die Sperre nicht mehr übernommen.

Stellen Sie sicher, dass Sie Ihr privates Netzwerk nicht nur einrichten --targetgaslimit, sondern auch mit dem Mining beginnen . --mineDadurch wird die Blockgasgrenze langsam in Richtung der angegebenen Zielgasgrenze verschoben, und Sie werden sehen, wie sich die Gasgrenze mit jedem Block erhöht.

Beachten Sie auch, dass das Target Gas Limit Flag in Geth 1.4.x eingeführt wurde, stellen Sie also sicher, dass Sie einen sehr aktuellen Client haben.

Siehe auch diese ausgezeichnete Antwort auf Ethereum Stack Exchange .

Ist Ihnen bewusst, dass ich eine private Chain betreibe und nicht die Haupt-Ethereum-Blockchain? Gilt das noch für private Ortsketten? Vielen Dank
Ja, setzen Sie --targetgaslimit auf 500000 und beginnen Sie mit dem Abbau Ihres privaten Netzwerks und Sie werden sehen, wie sich das Gaslimit mit jedem Block erhöht.
Wird sich aus irgendeinem Grund immer noch nicht ändern ...
Welche Geth-Version? Bergbaust du?
1.5.0. Ich habe sogar die Blockchain gelöscht, neu angefangen und abgebaut, aber das Limit ist immer noch 5000. Cheers
Hey @James hast du dieses Problem gelöst? Ich bin in genau der gleichen Situation
Ich habe alles gelöscht und alles neu konfiguriert und es hat funktioniert. Die Sache ist, dass mein gasLimit 5003 war (unabhängig davon, ob der Knoten mit --targetgaslimit gestartet wurde) und ich denke, es liegt an der dynamischen Gaslimitberechnung, die die Knoten verwenden, also haben sie es wegen Netzwerkinaktivität verringert