Tengo un problema al conectar los artefactos externos.
En Project AI, tengo carpetas deploy
y artifacts
donde guardo todos los archivos de implementación de casco y los artefactos generados después de la primera implementación.
En el Proyecto B, estoy reutilizando esas cosas al ponerlas en la configuración del casco:
external: {
contracts: [
{
artifacts: '/contracts/artifacts',
deploy: '/contracts/deploy',
},
],
},
Ahora ejecuto npx hardhat deploy
del Proyecto B y veo que todos los contratos se implementaron con éxito.
Pero cuando intento interactuar con cualquiera de los contratos implementados, veo en la consola: Contract call: <UnrecognizedContract>
.
Lo mismo ocurre si primero ejecuto por separado el nodo del casco y luego implemento los contratos. Para cada implementación, veo en los registros <UnrecognizedContract>
.
¿Cuál es la forma correcta de conectar el proyecto de casco externo, para que el nodo del casco pueda entender qué contratos se implementaron?
Actualmente, esto no es compatible y esto también puede depender del formato de los artefactos.
Me gustaría hacerlo posible en la mayoría de los casos mediante el uso de https://github.com/nomiclabs/hardhat/blob/8118d0e3649ed87b247ef02830feb6aad5a78682/packages/hardhat-core/src/internal/hardhat-network/provider/modules/hardhat.ts # L37
Si eso ayuda, noté el mismo problema cuando simplemente inicia el nodo del casco en un proyecto e implementa los contratos en otro.
No estoy seguro de si es posible conectar manualmente 'artefactos' o resultados de compilación al casco, por lo que el nodo podría comenzar a reconocer contratos.
Hay un problema que podría ayudar: https://github.com/nomiclabs/hardhat/issues/1040
Comentario más útil
Si eso ayuda, noté el mismo problema cuando simplemente inicia el nodo del casco en un proyecto e implementa los contratos en otro.
No estoy seguro de si es posible conectar manualmente 'artefactos' o resultados de compilación al casco, por lo que el nodo podría comenzar a reconocer contratos.