Fazer Upload de um Manifesto de Contrato no Registro
Você pode usar o Blockchain App Builder para validar e publicar metadados de implantação de um projeto Hardhat selecionado para contratar serviços de registro.
A ferramenta Fazer Upload do Manifesto do Contrato executa o plug-in hardhat-upload-contract-artefacts de propriedade do projeto e passa os pontos finais do registro como valores de runtime; ela não modifica as variáveis Hardhat do projeto.
O upload do manifesto só está disponível para ambientes Besu salvos do Oracle Blockchain Platform.
Pré-requisitos
- Selecione um projeto Hardhat importado ou composto que foi implantado com sucesso.
- Confirme se o projeto inclui o pacote
hardhat-upload-contract-artefactsno arquivopackage.json, importa o plug-in nohardhat.config.tsouhardhat.config.jse define a configuração douploadContractManifest. - Crie ou selecione um ambiente Besu do Oracle Blockchain Platform com o ID da cadeia e a autenticação de proxy RPC corretos.
- Verifique se existem os registros de implantação local necessários para o modo de upload escolhido.
Os seguintes modos de upload são suportados.
| Modo de Upload | Registros Locais Obrigatórios | Destino do Registro |
|---|---|---|
| Ambos | Manifesto OpenZeppelin, ERC-7201 implantado-contra JSON e SOLC implantado-contra JSON | Ambos os pontos finais do registro |
| ERC-7201 / Atualizável | Manifesto OpenZeppelin e ERC-7201 implantado-contrata JSON | ERC-7201 ponto final do registro |
| Imutável / SOLC | JSON de contratos implementados da SOLC | Ponto final de registro SOLC |
Para um projeto importado pré-empacotado ou contratos de ativos digitais gerados pelo Blockchain App Builder, normalmente o modo ERC-7201 é suficiente.
Para o ID de cadeia 1500, os caminhos padrão são os seguintes.
./.openzeppelin/unknown-1500.json
./.obp-da/.erc7201/deployedContracts-1500.json
./.obp-da/.solc/deployedContracts-1500.jsonAjuste os caminhos se o projeto armazenar registros de implantação em outro lugar.- Abra Ferramentas do Desenvolvedor e selecione Fazer Upload do Manifesto do Contrato.
- Selecione o projeto Hardhat e um ambiente Besu do Oracle Blockchain Platform.
- Selecione o modo de upload.
- Informe o URL ou URLs do ponto final do registro necessários:
- Ponto Final do Registro de Upload de Manifesto ERC-7201 para registros atualizáveis
- Ponto Final do Registro de Upload de Manifesto SLC para registros imutáveis
- Confirme os caminhos de arquivo OpenZeppelin e deploy-contract. Opcionalmente, defina o timeout e a saída detalhada.
- Selecione Validar. O plug-in é executado e não publica dados de registro.
- Quando a validação for bem-sucedida, desmarque Validar e selecione Fazer Upload.
Solucionando Problemas
| Condição | Resolução |
|---|---|
| Nenhum ambiente disponível | Crie um ambiente Besu do Oracle Blockchain Platform salvo. Os EVMs e o nó local Hardhat não são ambientes válidos para upload de manifestos. |
| O ponto final do registro é inválido | Informe um URL de registro HTTP ou HTTPS completo para cada ponto final exigido pelo modo selecionado. |
| Arquivo obrigatório não encontrado | Compile e implante os contratos relevantes ou corrija o manifesto relativo ao projeto e o caminho do arquivo do contrato implantado. |
| Plug-in ou configuração ausente | Instale ou importe hardhat-upload-contract-artefacts e adicione a configuração uploadContractManifest que é mostrada na orientação de comprovação da ferramenta.
|
| Falha no upload após a execução sequencial ser bem-sucedida | Revise a autenticação do serviço de registro, a disponibilidade, a política de ponto final e a saída completa do plug-in. O dryrun valida entradas locais, mas não garante a aceitação do registro. |