Tenho um problema ao conectar os artefatos externos.
No Project AI, tenho deploy
e artifacts
pastas onde mantenho todos os arquivos de implantação do capacete de segurança e artefatos gerados após a primeira implantação.
No Projeto B, estou reutilizando essas coisas, colocando-as na configuração do capacete de segurança:
external: {
contracts: [
{
artifacts: '/contracts/artifacts',
deploy: '/contracts/deploy',
},
],
},
Agora executo npx hardhat deploy
do Projeto B e vejo que todos os contratos foram implantados com sucesso.
Mas quando tento interagir com qualquer um dos contratos implantados, vejo no console: Contract call: <UnrecognizedContract>
.
O mesmo acontece se eu executar separadamente o nó do capacete de segurança primeiro e implantar os contratos depois. Para cada implantação, vejo nos logs <UnrecognizedContract>
.
Qual é a maneira correta de conectar o projeto do capacete de segurança externo, para que o nó do capacete de segurança possa entender quais contratos foram implantados?
Isso não é compatível no momento e pode depender do formato dos artefatos também.
Eu gostaria de tornar isso possível na maioria dos casos usando https://github.com/nomiclabs/hardhat/blob/8118d0e3649ed87b247ef02830feb6aad5a78682/packages/hardhat-core/src/internal/hardhat-network/provider/modules/hardhat.ts # L37
Se isso ajudar, percebi o mesmo problema quando você simplesmente inicia o nó do capacete de segurança em um projeto e implanta contratos em outro.
Não tenho certeza se é possível conectar manualmente 'artefatos' ou resultados de compilação ao capacete de segurança, para que o nó possa começar a reconhecer contratos.
Este é um problema que pode ajudar: https://github.com/nomiclabs/hardhat/issues/1040
Comentários muito úteis
Se isso ajudar, percebi o mesmo problema quando você simplesmente inicia o nó do capacete de segurança em um projeto e implanta contratos em outro.
Não tenho certeza se é possível conectar manualmente 'artefatos' ou resultados de compilação ao capacete de segurança, para que o nó possa começar a reconhecer contratos.