D Anwendungen für Hyperledger Fabric v2.x aktualisieren
Wenn Sie die Plattformversion upgraden, müssen Sie möglicherweise Änderungen an Ihren vorhandenen Anwendungen vornehmen, damit diese mit der neuen Version von Hyperledger Fabric arbeiten.
- Hyperledger Fabric-Client-SDK für Node.js Version 2.2.9
- Hyperledger Fabric-Client-SDK für Java-Version 2.2.2
- Hyperledger Fabric-Client-SDK für Go-Version 1.0.0
Für Hyperledger Fabric v2.x ist Go Version 1.20 oder höher erforderlich. Daher müssen Sie möglicherweise ein Upgrade der von Ihnen verwendeten Go-Version durchführen.
Hinweis:
Bei Abfragen können Timeoutfehler auftreten, wenn Sie eine vorhandene Chaincode-Datei.zip
erneut bereitstellen und die Indizes im Root-Verzeichnis des Chaincode-Packages gespeichert werden, anstatt im Verzeichnis META-INF
. Um Timeoutfehler zu vermeiden, stellen Sie sicher, dass Indizes in vorhandenem Chaincode, den Sie in einer Hyperledger Fabric v2.x-Instanz bereitstellen, sich im folgenden Verzeichnis befinden:META-INF/statedb/relationaldb/indexes
Weitere Informationen finden Sie unter Datenbankindizes für Status.
Möglicherweise müssen Sie Ihre Anwendung aktualisieren, wenn sie komplexere Vorgänge wie das Verwalten von Chaincode-Lebenszyklen, das Hören auf Ereignisse oder das Verwalten digitaler Wallets mit einem Client-SDK abschließt, wie in den folgenden Abschnitten beschrieben.
Hyperledger Fabric-SDK für Node.js
In der folgenden Tabelle werden die Unterschiede zwischen den Versionen 1.4 und 2.x des Hyperledger Fabric-SDK für Node.js zusammengefasst. Weitere Informationen finden Sie unter Migrieren von Clientanwendungen von Version 1.4 zu Version 2.0 in der Hyperledger Fabric-Dokumentation.
Änderung in Version 2.x | Kundenaktion |
---|---|
Das fabric-client -Modul wurde entfernt.
|
Refactoring für Anwendungen zur Verwendung des Moduls fabric-network durchführen.
|
Wallets, die zum Speichern und Zugreifen auf Identitätsinformationen verwendet werden, wurden neu gestaltet. | Richtlinien und Dienstprogramme zum Migrieren von Wallets finden Sie in der Dokumentation zu Hyperledger Fabric. |
Die Ereignis-Listener-API und das Verhalten wurden neu gestaltet. | Schreiben Sie die Ereignis-Listener neu, um die neue API zu verwenden. |
Das SDK bietet keine administrativen und Verwaltungsfunktionen mehr, einschließlich der Möglichkeit, Kanäle zu erstellen und Chaincode-Lebenszyklen zu verwalten. | Verwenden Sie die Befehlszeilenschnittstelle für diese Vorgänge. Vorhandene Clients, die Funktionen der Version 1.4 für die Lebenszyklusverwaltung verwenden, funktionieren nicht mit einer Hyperledger Fabric v2.x-Instanz. |
In der folgenden Tabelle werden die Klassen aufgeführt, die im Modul Hyperledger Fabric v2.x fabric-network
im Vergleich zum Modul Hyperledger Fabric v1.4.7 fabric-network
verfügbar sind.
Version 2.x Modulklassen Gewebe-Netzwerk | Version 1.4 Modulklassen für Gewebe-Netzwerke |
---|---|
|
|
Hyperledger Fabric-SDK für Java
Wenn Ihre Anwendung Lebenszyklus-APIs verwendet, die jetzt im Java-SDK für Hyperledger Fabric 2.0 (InstallProposalRequest, InstantiateProposalRequest und UpgradeProposalRequest) veraltet sind, schreiben Sie Ihre Anwendung neu, um die APIs in der neueren Version des SDK zu verwenden. Weitere Informationen finden Sie in den Versionshinweisen zu Java SDK for Hyperledger Fabric 2.0.
REST-API (REST-Proxy) für Oracle Blockchain Platform
Zum Aufrufen vorhandener Chaincodes sind keine Änderungen erforderlich.
Um die Initialisierungsfunktion für neuere Chaincodes zu unterstützen, für die dies erforderlich ist, wurde der vorhandenen Transaktions-API ein optionaler Parameter isInit hinzugefügt. Weitere Informationen finden Sie unter Transaktion senden in der REST-API-Dokumentation.
REST-API (Konsole) für Oracle Blockchain Platform
Aktualisieren Sie die in allen API-Aufrufen verwendete Version. Für Hyperledger Fabric v1.4.7 lautet die API-Versionsnummer 1.1. Für Hyperledger Fabric v2.x lautet die API-Versionsnummer 2.
/console/admin/api/v1.1/chaincodes
/console/admin/api/v2/chaincodes
Hinweis:
Obwohl die meisten vorhandenen APIs ein neues Hyperledger Fabric v2.x-Äquivalent aufweisen, gibt es keine 1:1-Übereinstimmung. Einige APIs sind für jede Version von Hyperledger Fabric eindeutig, und einige haben unterschiedliche Parameter für jedes Release. Beispiel: Unter Hyperledger Fabric v2.x wurden die Deployment-Funktionen vom Unterpfadchaincode
in den Unterpfad channel
verschoben. Weitere Informationen finden Sie unter Neue, geänderte und veraltete APIs in der REST-API-Dokumentation.
Da Hyperledger Fabric v2.x einen neuen Chaincode-Lebenszyklus mit neuen Verfahren zum Installieren von Chaincode auf Peers und Starten auf einem Kanal enthält, müssen Sie möglicherweise alle zugehörigen API-Aufrufe aktualisieren. Weitere Informationen: Chaincode-Lebenszyklus.