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-artefacts in der Datei package.json enthält, das Plug-in in hardhat.config.ts oder hardhat.config.js importiert und die Konfiguration uploadContractManifest definiert.
  • 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.json
Passen Sie die Pfade an, wenn das Projekt Deployment-Datensätze an anderer Stelle speichert.
  1. Öffnen Sie die Entwicklungstools, und wählen Sie Vertragsmanifest hochladen aus.
  2. Wählen Sie das Hardhat-Projekt und eine Oracle Blockchain Platform Besu-Umgebung aus.
  3. Wählen Sie den Uploadmodus aus.
  4. 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
    .
  5. Bestätigen Sie die OpenZeppelin- und Deploy-contract-Dateipfade. Legen Sie optional ein Timeout und eine ausführliche Ausgabe fest.
  6. Wählen Sie Validieren aus. Das Plug-in wird ausgeführt und veröffentlicht keine Registrierungsdaten.
  7. 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.