¿Por qué el compilador de solidez basado en el navegador falla cuando el código es demasiado largo?

Encuentro que el compilador de solidez basado en el navegador se aplastará cuando la longitud del código alcance cierto valor, que es de aproximadamente 230 líneas. No sé por qué y estoy seguro de que no hay ningún error de sintaxis, ¿te ha pasado alguna vez este problema?

Respuestas (4)

Compilar código requiere mucha potencia informática, especialmente cuando se vuelve a compilar cada vez que se edita. Simplemente hay un límite de cuánto puede hacer dentro de un navegador.

Si está escribiendo mucho código, le recomiendo encarecidamente que utilice un marco o un compilador de línea de comandos.

te refieres a la mezcla?
cuando lo despliego usando la niebla, la niebla también aplasta

¿Probaste en el entorno CLI?

solc --bin --abi yourcode.sol

y verifique el resultado primero.

--- instalar CLI Ethereum En el caso de MIST, ya tienen geth Creo que el código de 230 líneas no es un problema. Porque hay más de 230 códigos existentes. Entonces, primero intenta compilar en la línea de comando.

puede descargar el paquete CLI ethereum https://build.ethereum.org/cpp-binaries-data/release-1.2.2/Ethereum.exe

la única forma en que puedo implementar el contrato es usando niebla, ¿puedes enseñarme cómo hacerlo?
Creo que el código de 230 líneas no es un problema.

Javascript solcse generó automáticamente a partir del código c ++, lo que lo hace tremendamente ineficiente.

El solccompilador es extremadamente lento . Unos cientos de líneas comenzarán a tardar más de un minuto en compilarse. A modo de comparación, el solcpaquete incluido en cpp-ethereum tarda aproximadamente 1 segundo.

Creo que el solcpaquete Javascript en realidad se generó automáticamente a partir de la solcimplementación en c ++ (posiblemente usando algo como esto ). De hecho, puede ver la fuente de JS aquí . Como puede ver, el compilador JS es increíblemente complejo y probablemente extremadamente ineficiente. Si eres un gurú del compilador, sería un gran servicio para la comunidad si reescribieras este compilador JS.

¿Ha probado Ethereum Studio en live.ether.camp como un entorno de desarrollo completamente funcional basado en la web? Debería ser compatible con todos sus requisitos.