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-artefacts no arquivo package.json, importa o plug-in no hardhat.config.ts ou hardhat.config.js e define a configuração do uploadContractManifest.
  • 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.json
Ajuste os caminhos se o projeto armazenar registros de implantação em outro lugar.
  1. Abra Ferramentas do Desenvolvedor e selecione Fazer Upload do Manifesto do Contrato.
  2. Selecione o projeto Hardhat e um ambiente Besu do Oracle Blockchain Platform.
  3. Selecione o modo de upload.
  4. 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
    .
  5. Confirme os caminhos de arquivo OpenZeppelin e deploy-contract. Opcionalmente, defina o timeout e a saída detalhada.
  6. Selecione Validar. O plug-in é executado e não publica dados de registro.
  7. 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.