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.
Ändern Sie nicht die Genesis-Datei, da dies die Dynamik der Blockchain verändert. Geth hat ein --targetgaslimit
Flag, 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 . --mine
Dadurch 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 .
James
q9f
James
q9f
James
KwahuNashoba
KwahuNashoba