Estoy trabajando en una cadena de bloques privada y descubrí que no puedo implementar un contrato de más de 34 Kb, lo cual es bastante limitante para mí. A modo de comparación, los cryptokitties tienen entre 40 y 47 Kb, ¡así que ni siquiera puedo implementar gatitos digitales!
Aquí hay parte de mi chains.json
que corresponde a los límites de gas:
"params": {
"maximumExtraDataSize": "0x20",
"minGasLimit": "0x1388",
"networkID": "0x2323",
"gasLimitBoundDivisor": "0x400"
},
"genesis": {
"seal": {
"authorityRound": {
"step": "0x0",
"signature": "0x0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
}
},
"difficulty": "0x20000",
"gasLimit": "0x165A0BC00"
},
Si entiendo correctamente, tengo un límite 0x165A0BC00
que parece ser bastante grande y no limitante. Sin embargo, en la práctica no funciona.
¿Cómo puedo mejorar la configuración de la red para que sea posible cargar contratos de hasta 50-60 Kb? Actualmente envío 4600000 de gasolina por cada transacción.
Error cuando estoy tratando de suministrar más gas:
Mensaje: Nethereum.JsonRpc.Client.RpcResponseException: el costo de transacción excede el límite de gas actual. Límite: 4700000, obtenido: 46000000. Intente disminuir el suministro de gas.
Cuando estoy suministrando una cantidad regular de gas
Mensaje: Nethereum.RPC.Eth.Exceptions.ContractDeploymentException: el código no se implementó correctamente
Usted suministró 46,000,000 de gas mientras que el límite es de solo 4,700,000, por lo que la transacción no es válida. Debería funcionar si suministra menos de 4.700.000 de gas.
El otro error no parece estar relacionado con un problema de gas: probablemente diría "Se quedó sin gas".
46
dejó de funcionar. Sé que es un límite. La pregunta principal es cómo aumentarla. Literalmente, no hay forma de implementar un contrato si la cantidad de gas que requiere es más que un umbral máximo.
harold
0x165A0BC00
es 6 mil millones en decimal: esto es más que suficiente y sospecho que su error está en otra parte. ¿Podría agregar más detalles de los errores encontrados?Iteración 122442
Alex Zhukovsky
Iteración 122442