Recibo el siguiente error al verificar en el sitio etherscan de RINKEBY:
Error! Unable to verify source code
Exception #1 Occured: ERROR|The Contract solidity compilation has
exceeded the maximum timeout/memory limit that we can safely process.
Automated source code verification is unavailable for this source code.
Mi contrato es lo suficientemente pequeño como para implementarlo con éxito, pero aparentemente la compilación lleva demasiado tiempo para que Etherscan la verifique. ¿Cuáles son mis opciones? ¿El verificador Rinkeby Etherscan es más limitado o también tendré este problema en la red principal? (eso sería mucho más problemático)
EDITAR: probé el nuevo compilador etherscan beta 2.0 y tiene exactamente el mismo problema.
Es difícil decir algo sin ver el código que intentaste compilar. Como ya has probado el compilador 2. versión beta, como sugerencia; los compiladores pasan algún tiempo eliminando comentarios, etc. durante el tiempo de compilación como se explica aquí .
¿Se incluyen comentarios con los contratos desplegados y aumentan el gas de despliegue?
No, todo lo que no se necesita para la ejecución se elimina durante la compilación. Esto incluye, entre otros, comentarios, nombres de variables y nombres de tipos.
Aunque el código es pequeño, tener muchos comentarios puede llevar algún tiempo para la compilación. Haber eliminado antes de la compilación podría ahorrar algo de tiempo.
EDITAR : establecer el indicador de optimización en no, también podría funcionar.
El compilador se estaba agotando y la documentación en línea sugirió que truffle optimiza la compilación; sin embargo, seleccioné "no" para la opción optimizada y no ingresé las direcciones de la biblioteca, ¡para encontrarlo compilando con éxito en menos de 30 segundos!
Mirando la página de verificación de etherscan ,
NOTAS
1. Para verificar los Contratos que aceptan argumentos de Constructor, ingrese los Argumentos codificados con ABI en el último cuadro a continuación.
2. Para fines de depuración, si se compila correctamente en Browser Solidity, también debería compilarse correctamente aquí.
3. Los contratos que usan "importaciones" deberán tener el código concatenado en un archivo, ya que no admitimos "importaciones" en archivos separados. Puede intentar usar el solidity-flattener
4 de Blockcat. Hay un tiempo de espera de hasta 30 segundos para cada contrato compilado. Si su contrato demora más tiempo que este, no podremos verificarlo.
Según el punto 4, hay un límite de 30 segundos para la compilación.
Y según lo siguiente, es posible que tenga más suerte con la versión beta del compilador 2.0 .
Sugerencia: consulte el nuevo verificador de contrato de código fuente Beta que admite la opción 'ejecutar' para verificar los contratos implementados por Truffle. Si su contrato usa bibliotecas y no se verifica, también puede intentar usar el verificador de código fuente beta.
En su defecto, la respuesta a esta pregunta puede ser de interés.
Parece que etherscan tiene un hardware diferente para verificar los contratos de kovan y ropsten. Logré verificar en ropsten pero fallé en kovan con el mismo contrato.
comodoro
julián
optimization
opciónno
en el formulario de verificación?