In meinem Solidity-Code definiere ich 3 Arrays mit etwa 700 Elementen darin. Wenn ich jedoch versuche, den Vertrag mit Geth bereitzustellen, erhalte ich die folgende Fehlermeldung:
Fehler: Übergroße Daten undefiniert
Wenn ich versuche, den Vertrag in Remix zu testen, sagt mir der Browser, dass er nicht genug Speicher hat.
Was sind die Grenzen von Solidity? Ist es nicht möglich, 3 Arrays mit nur 700 uint-Elementen zu haben?
Eines der Arrays sieht wie folgt aus:
int[] array1 = [28, 28, 28, 27, 28, 28, 28, 27, 27, 28, 28, 29, 30, 31, 31, 30, 30, 31, 31, 31, 30, 29, 28, 28, 28, 27, 27, 27, 27, 27, 27, 26, 27, 25, 25, 24, 24, 23, 23, 23, 23, 26, 27, 30, 30, 30, 31, 31, 31, 31, 31, 30, 30, 30, 29, 28, 28, 28, 28, 28, 28, 28, 26, 26, 26, 25, 25, 24, 24, 24, 23, 24, 27, 29, 32, 32, 33, 34, 34, 34, 34, 33, 33, 33, 33, 32, 32, 32, 32, 31, 31, 31, 30, 29, 29, 29, 28, 29, 29, 27, 26, 28, 28, 31, 32, 35, 35, 36, 37, 36, 36, 36, 36, 36, 36, 35, 34, 33, 32, 32, 33, 33, 32, 32, 31, 31, 30, 31, 28, 28, 29, 29, 29, 29, 31, 34, 36, 36, 35, 35, 34, 33, 33, 33, 33, 32, 32, 33, 33, 32, 32, 32, 32, 32, 32, 31, 31, 31, 31, 30, 29, 30, 30, 32, 35, 38, 38, 40, 43, 44, 44, 40, 39, 38, 38, 37, 37, 37, 36, 36, 36, 37, 33, 33, 33, 34, 34, 34, 34, 33, 32, 33, 33, 35, 35, 37, 37, 39, 40, 40, 37, 37, 36, 36, 36, 33, 34, 34, 34, 33, 34, 33, 33, 33, 33, 33, 33, 32, 32, 32, 32, 31, 30, 32, 32, 34, 35, 37, 37, 38, 37, 37, 39, 39, 39, 39, 36, 36, 37, 36, 33, 33, 33, 32, 32, 32, 33, 32, 31, 31, 31, 30, 30, 30, 29, 29, 30, 30, 33, 34, 36, 36, 38, 39, 39, 39, 38, 38, 37, 37, 37, 35, 34, 33, 34, 34, 34, 34, 34, 33, 33, 33, 32, 31, 31, 30, 29, 30, 30, 32, 34, 34, 34, 34, 35, 35, 36, 38, 38, 37, 35, 34, 34, 35, 33, 33, 33, 33, 34, 34, 33, 31, 31, 31, 31, 30, 30, 30, 32, 33, 36, 36, 37, 37, 36, 36, 37, 37, 37, 37, 35, 35, 34, 34, 34, 34, 34, 34, 34, 34, 32, 33, 31, 32, 32, 30, 30, 31, 31, 33, 35, 37, 37, 39, 39, 39, 39, 39, 39, 38, 38, 35, 33, 32, 32, 33, 33, 32, 32, 32, 31, 31, 30, 31, 30, 31, 31, 34, 37, 38, 38, 40, 40, 39, 39, 39, 39, 38, 38, 38, 37, 36, 36, 35, 35, 35, 34, 34, 34, 33, 33, 32, 32, 31, 30, 30, 30, 32, 33, 35, 35, 38, 39, 36, 36, 36, 35, 35, 34, 33, 32, 32, 31, 31, 31, 31, 30, 30, 30, 28, 27, 26, 26, 26, 25, 26, 28, 31, 32, 32, 34, 35, 37, 36, 36, 35, 35, 34, 33, 32, 30, 30, 31, 31, 31, 31, 31, 31, 30, 29, 28, 28, 28, 27, 29, 29, 30, 32, 33, 33, 34, 34, 36, 35, 36, 34, 34, 34, 34, 32, 32, 31, 31, 31, 31, 31, 32, 32, 31, 30, 30, 30, 30, 30, 31, 31, 34, 36, 39, 42, 40, 40, 40, 40, 41, 40, 40, 39, 37, 36, 36, 35, 36, 35, 35, 34, 34, 33, 34, 33, 33, 33, 32, 32, 34, 38, 40, 42, 42, 42, 42, 42, 41, 41, 41, 40, 38, 36, 36, 35, 35, 34, 34, 34, 34, 34, 33, 32, 32, 32, 32, 32, 32, 35, 37, 39, 39, 42, 41, 41, 40, 39, 37, 37, 36, 35, 35, 35, 35, 35, 35, 34, 33, 33, 33, 32, 32, 31, 31, 32, 32, 35, 37, 40, 40, 41, 40, 38, 38, 38, 37, 37, 37, 36, 35, 35, 34, 34, 34, 33, 33, 32, 32, 31, 30, 30, 30, 29, 28, 28, 29, 30, 31, 33, 33, 36, 36, 36, 36, 35, 35, 35, 35, 34, 32, 32, 32, 31, 31, 31, 31, 31, 29, 29, 29, 28, 28, 28, 27, 27, 28, 28, 30, 32, 33, 33, 34, 34, 34, 34, 33, 33, 33, 32, 32, 31, 30, 30, 30, 30, 30, 29, 28, 28, 28, 27, 27, 26, 26, 26, 28, 30, 32, 32, 34, 36, 34, 34, 34, 35, 33, 33, 33, 32, 31, 30, 30, 30, 30, 29, 29, 28, 27, 26, 26, 26, 25, 26, 28, 30, 33, 36, 38, 37, 38, 37, 36, 36, 35, 33, 33, 33, 33, 33, 33, 32, 31, 30, 30, 29, 29, 29, 29, 29, 29, 30, 30, 32, 34, 37, 37, 36, 36, 36, 36, 36, 36, 35, 35, 34, 34, 34, 34, 34, 33, 33, 32, 31, 30, 30, 30, 30, 30, 30, 30, 28, 28, 31, 32, 32, 33, 33, 34, 34, 34, 33, 33, 32, 31, 30, 30, 30, 29, 29, 29, 29, 29, 27, 26, 25, 25, 25, 25, 26, 26, 28, 30, 31, 33, 33, 34, 34, 34, 33, 33, 33, 34, 33, 32, 32, 30, 30, 30, 30, 29, 29, 28, 27, 27, 26, 26, 26, 25, 26, 26, 28, 31, 31, 31, 33, 36, 37, 36, 36, 35, 34, 33, 33, 33, 32, 31, 31, 31, 31, 30, 30, 30, 29, 29, 29, 28, 28, 28, 28, 30, 32, 35, 35, 38, 37, 36, 36, 36, 37, 38, 38, 37, 36, 35, 35, 35, 35, 34, 34, 33, 33, 32, 32, 31, 30, 30, 30, 29, 29, 30, 32, 34, 36, 36, 40, 40, 40, 40, 39, 39, 39, 39, 38, 38, 37, 36, 36, 36, 36, 36, 35, 35, 35, 33, 32, 31, 31, 31, 30, 30, 32, 35, 38, 38, 39, 40, 40, 40, 38, 40, 40, 40, 40, 41, 38, 38, 36, 36, 35, 34, 34, 34, 33];
die Grenze eines Arrays, seine 2^256-1.
In Ihrem Fall überschreiten Sie die Gasgrenzen, wenn Sie versuchen, den Vertrag mit 3 Arrays mit 700 Elementen bereitzustellen.
Im Beispiel hat das Ropsten-Netzwerk tatsächlich ein Gaslimit von 58.000.000 pro Block
Außerdem haben Sie ein Gaslimit in der Transaktion
libertylocked
Önder Gürcan
libertylocked