Charger un manifeste de contrat dans le registre
Vous pouvez utiliser Blockchain App Builder pour valider et publier des métadonnées de déploiement d'un projet Hardhat sélectionné vers des services de registre de contrats.
L'outil Télécharger le manifeste de contrat exécute le module d'extension hardhat-upload-contract-artefacts appartenant au projet et transmet les adresses de registre en tant que valeurs d'exécution ; il ne modifie pas les variables Hardhat du projet.
Le téléchargement de manifeste n'est disponible que pour les environnements Oracle Blockchain Platform Besu enregistrés.
Prérequis
- Sélectionnez un projet Hardhat importé ou composé qui a été déployé.
- Vérifiez que le projet inclut le package
hardhat-upload-contract-artefactsdans le fichierpackage.json, importe le module d'extension danshardhat.config.tsouhardhat.config.jset définit la configurationuploadContractManifest. - Créez ou sélectionnez un environnement Oracle Blockchain Platform Besu avec l'ID de chaîne et l'authentification de proxy RPC appropriés.
- Assurez-vous que les enregistrements de déploiement local requis existent pour le mode de téléchargement que vous choisissez.
Les modes de téléchargement suivants sont pris en charge.
| Mode de chargement | Enregistrements locaux requis | Destination du registre |
|---|---|---|
| Les deux | Manifeste OpenZeppelin, ERC-7201 déployée-contrats JSON, et SOLC déployé-contrats JSON | Les deux adresses de registre |
| ERC-7201 / Mise à niveau | Manifeste OpenZeppelin et contrat-déploiement ERC-7201 JSON | Adresse de registre ERC-7201 |
| Immuable / SOLC | SOLC déployée-contrats JSON | Adresse de registre SOLC |
Pour un projet importé préemballé ou des contrats de ressources numériques générés par Blockchain App Builder, généralement le mode ERC-7201 est suffisant.
./.openzeppelin/unknown-1500.json
./.obp-da/.erc7201/deployedContracts-1500.json
./.obp-da/.solc/deployedContracts-1500.jsonAjustez les chemins si le projet stocke les enregistrements de déploiement ailleurs.- Ouvrez Outils de développement, puis sélectionnez Télécharger le manifeste de contrat.
- Sélectionnez le projet Hardhat et un environnement Oracle Blockchain Platform Besu.
- Sélectionnez le mode de chargement.
- Entrez les URL endpoint de registre requises :
- ERC-7201 - Adresse de registre de chargement de manifeste pour les enregistrements pouvant être mis à niveau
- Adresse de registre de téléchargement de manifeste SLC pour les enregistrements non mutables
- Confirmez les chemins des fichiers OpenZeppelin et deploy-contract. Définissez éventuellement le délai d'expiration et la sortie détaillée.
- Sélectionnez Valider. Le module d'extension s'exécute et ne publie pas les données du registre.
- Une fois la validation réussie, désélectionnez Valider et sélectionnez Charger.
Dépannage
| Condition | Résolution |
|---|---|
| Aucun environnement n'est disponible | Créez un environnement Oracle Blockchain Platform Besu enregistré. Les EVM et le noeud local Hardhat ne sont pas des environnements valides pour le téléchargement de manifestes. |
| L'adresse de registre n'est pas valide | Entrez une URL de registre HTTP ou HTTPS complète pour chaque adresse requise par le mode sélectionné. |
| Fichier requis introuvable | Compilez et déployez les contrats pertinents ou corrigez le manifeste relatif au projet et le chemin du fichier du contrat déployé. |
| Le plug-in ou la configuration est manquant | Installez ou importez hardhat-upload-contract-artefacts et ajoutez la configuration uploadContractManifest indiquée dans le guide de pré-vol de l'outil.
|
| Echec du téléchargement après l'exécution du test | Vérifiez l'authentification du service de registre, la disponibilité, la stratégie d'adresse et la sortie complète du module d'extension. La simulation valide les entrées locales mais ne garantit pas l'acceptation du registre. |