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?
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.
¿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
Javascript solc
se generó automáticamente a partir del código c ++, lo que lo hace tremendamente ineficiente.
El solc
compilador 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 solc
paquete incluido en cpp-ethereum tarda aproximadamente 1 segundo.
Creo que el solc
paquete Javascript en realidad se generó automáticamente a partir de la solc
implementació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.
Wang
Wang