¿Por qué el remix no termina de iniciar todas mis bibliotecas?

Me he encontrado con un problema. Tengo un contrato con una jerarquía de bibliotecas (algunas bibliotecas de nivel inferior importan bibliotecas de nivel superior). Todas las bibliotecas son finalmente importadas por nuestro contrato principal. Anteriormente, podía implementar las bibliotecas y el contrato sin problemas (es decir, la metamáscara aparecía después de implementar cada biblioteca, lo que me permitía confirmar la siguiente transacción de la biblioteca). A partir de ayer, metamask solo aparecerá para las dos primeras bibliotecas. Después de que la transacción de la segunda biblioteca haya tenido éxito, Remix simplemente se sienta y no hace nada (metamask no se abre y no tiene ninguna transacción en espera).

Todas las bibliotecas compilan bien. Revisé las transacciones en etherscan y ambas transacciones de la biblioteca fueron exitosas. Intenté implementar cada biblioteca una por una y todas tuvieron éxito. Hasta donde yo sé, no puedo implementar mi contrato principal sin implementar primero todas las bibliotecas. No estoy seguro de cuál es el problema. ¿Alguna ayuda?

Incluya una captura de pantalla de la consola de JavaScript para comprender si hay algún problema. (Dependiendo de su navegador, puede abrirlo en el menú de configuración, herramientas del programador o algo similar)
No hay errores ni advertencias en la consola. Simplemente me da un mensaje pendiente para cada biblioteca, luego genera un enlace etherscan e información de transacción. Lo mismo de siempre. Simplemente se detiene después de la segunda biblioteca, como si todavía estuviera esperando que se complete la transacción.
No me refiero a la consola de remezclas, sino a las herramientas de JavaScript para la consola del programador del navegador. ¿Hablas de qué consola?

Respuestas (1)

La versión 0.7.0 actualmente disponible de Remix, anteriormente disponible como versión alfa y en línea solo por algunos días, presenta algunas características nuevas para la administración de bibliotecas,

Ahora debería ser posible tener una sola copia de la biblioteca en la cadena de bloques (vm, testrpc, test net o lo que sea) dando servicio a muchos contratos, cualquiera de los cuales se refiera a la misma dirección de la biblioteca.

Antes de esto, cualquier contrato que incluyera una biblioteca primero implementaba su propia copia de la biblioteca y la usaba.

Esta característica no ha sido ampliamente validada en este momento y puede, eventualmente y posiblemente, generar problemas.

En esos casos eventuales, es muy útil rastrear la consola de JavaScript del navegador para encontrar eventuales errores (¡siempre escritos en rojo!) al implementar, para posiblemente informar al equipo de desarrollo para tener algunos consejos.

Mientras tanto, puede trabajar con la versión anterior (0.6.4) instalándola mediante npm en el indicador del nodo

npm install -g remix-ide@0.6.4

después

remix-ide

luego siguiendo las instrucciones en la pantalla.

Si todo está bien de esta manera, el problema es la nueva función que se debe entender/arreglar.