Vertragsmanifest in die Registry hochladen
Mit Blockchain App Builder können Sie Deployment-Metadaten aus einem ausgewählten Hardhat-Projekt validieren und in Vertrags-Registry-Services veröffentlichen.
Das Tool Vertragsmanifest hochladen führt das projekteigene hardhat-upload-contract-artefacts-Plug-in aus und übergibt Registry-Endpunkte als Laufzeitwerte. Die Hardhat-Variablen des Projekts werden nicht geändert.
Der Manifestupload ist nur für gespeicherte Oracle Blockchain Platform Besu-Umgebungen verfügbar.
Voraussetzungen
- Wählen Sie ein importiertes oder komponiertes Hardhat-Projekt aus, das erfolgreich bereitgestellt wurde.
- Stellen Sie sicher, dass das Projekt das Package
hardhat-upload-contract-artefactsin der Dateipackage.jsonenthält, das Plug-in inhardhat.config.tsoderhardhat.config.jsimportiert und die KonfigurationuploadContractManifestdefiniert. - Erstellen oder wählen Sie eine Oracle Blockchain Platform Besu-Umgebung mit der richtigen Ketten-ID und RPC-Proxyauthentifizierung aus.
- Stellen Sie sicher, dass die erforderlichen lokalen Deployment-Datensätze für den ausgewählten Uploadmodus vorhanden sind.
Die folgenden Uploadmodi werden unterstützt.
| Uploadmodus | Erforderliche lokale Datensätze | Registry-Ziel |
|---|---|---|
| Beides | OpenZeppelin-Manifest, ERC-7201 Deploy-Contracts JSON und SOLC Deploy-Contracts JSON | Beide Registry-Endpunkte |
| ERC-7201 / Upgrade möglich | OpenZeppelin-Manifest und ERC-7201 Deploy-Contracts JSON | ERC-7201 Registry-Endpunkt |
| Unveränderlich / SOLC | SOLC bereitgestellte Verträge JSON | SOLC-Registry-Endpunkt |
Für Verträge mit vordefinierten importierten Projekten oder digitalen Assets, die von Blockchain App Builder generiert werden, ist der ERC-7201-Modus in der Regel ausreichend.
Für die Ketten-ID 1500 lauten die Standardpfade wie folgt.
./.openzeppelin/unknown-1500.json
./.obp-da/.erc7201/deployedContracts-1500.json
./.obp-da/.solc/deployedContracts-1500.jsonPassen Sie die Pfade an, wenn das Projekt Deployment-Datensätze an anderer Stelle speichert.- Öffnen Sie die Entwicklungstools, und wählen Sie Vertragsmanifest hochladen aus.
- Wählen Sie das Hardhat-Projekt und eine Oracle Blockchain Platform Besu-Umgebung aus.
- Wählen Sie den Uploadmodus aus.
- Geben Sie die erforderliche Registry-Endpunkt-URL oder -URLs ein:
- ERC-7201 Manifest-Upload-Registry-Endpunkt für aktualisierbare Datensätze
- SOLC-Manifest-Upload-Registry-Endpunkt für unveränderliche Datensätze
- Bestätigen Sie die OpenZeppelin- und Deploy-contract-Dateipfade. Legen Sie optional ein Timeout und eine ausführliche Ausgabe fest.
- Wählen Sie Validieren aus. Das Plug-in wird ausgeführt und veröffentlicht keine Registrierungsdaten.
- Wenn die Validierung erfolgreich ist, löschen Sie die Option Validieren, und wählen Sie Hochladen aus.
Fehlerbehebung
| Bedingung | Lösung |
|---|---|
| Keine Umgebung verfügbar | Erstellen Sie eine gespeicherte Oracle Blockchain Platform Besu-Umgebung. EVMs und der lokale Hardhat-Knoten sind keine gültigen Umgebungen für das Hochladen von Manifesten. |
| Registry-Endpunkt ist ungültig | Geben Sie eine vollständige HTTP- oder HTTPS-Registry-URL für jeden Endpunkt ein, der für den ausgewählten Modus erforderlich ist. |
| Erforderliche Datei nicht gefunden | Kompilieren und implementieren Sie die relevanten Verträge, oder korrigieren Sie das projektrelative Manifest und den Dateipfad des bereitgestellten Vertrags. |
| Plug-in oder Konfiguration fehlt | Installieren oder importieren Sie hardhat-upload-contract-artefacts, und fügen Sie die uploadContractManifest-Konfiguration hinzu, die in der Preflight-Anleitung des Tools angezeigt wird.
|
| Upload nach erfolgreicher Ausführung nicht erfolgreich | Prüfen Sie die Registry-Service-Authentifizierung, Verfügbarkeit, Endpunkt-Policy und die vollständige Plug-in-Ausgabe. Der Trockenlauf validiert lokale Eingaben, garantiert jedoch keine Akzeptanz der Registrierung. |