En mi código de solidez, defino 3 matrices con alrededor de 700 elementos dentro. Sin embargo, cuando intento implementar el contrato usando Geth, recibo el siguiente mensaje de error:
Error: datos sobredimensionados no definidos
Cuando trato de probar el contrato en Remix, el navegador me dice que no tiene suficiente memoria.
¿Cuáles son las limitaciones de Solidity? ¿No es posible tener 3 matrices con solo 700 elementos uint?
Una de las matrices es la siguiente:
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];
el límite de una matriz, es 2^256-1.
en su caso, cuando intenta implementar el contrato con 3 matrices con 700 elementos, está superando los límites de gas.
en el ejemplo, la red ropsten en realidad tiene un límite de gas de 58 000 000 por bloque
también tiene un límite de gas en la transacción
libertad bloqueada
Bajo Gürcan
libertad bloqueada