Bekannte Probleme mit Oracle Blockchain Platform auf Oracle Cloud Infrastructure (2. Generation)

Erfahren Sie, welche Probleme bei der Verwendung von Oracle Blockchain Platform auftreten können und wie Sie sie umgehen.

Probleme, die ursprünglich in früheren Releases gemeldet wurden:

Unterstützte Hyperledger Fabric-Versionen

Oracle Blockchain Platform 23.3.3 unterstützt die Hyperledger Fabric v2.5.3. Alle neuen Benutzer verwenden standardmäßig Hyperledger Fabric v2.5.3.

Unterstützte Browser

Informationen zu unterstützten Browsern für das Instanz-Provisioning über Oracle Cloud Infrastructure finden Sie unter Bei der Konsole anmelden.

Wenn sich die Oracle Blockchain Platform-Konsole nicht wie erwartet verhält, prüfen Sie, ob Sie die neueste Version eines unterstützten Browsers verwenden. Oracle Blockchain Platform unterstützt die folgenden Browser:

  • Mozilla Firefox
  • Google Chrome
  • Safari
  • Microsoft Edge/Internet Explorer

Interoperabilität von Hyperledger Fabric-Versionen

Oracle Blockchain Platform unterstützt die Verwendung von Instanzen, die auf Hyperledger Fabric v1.4.7 und Hyperledger Fabric v2.x basieren, im selben Blockchain-Netzwerk nicht.

Problemumgehung: Versuchen Sie nicht, verschiedene Hauptversionen von Hyperledger Fabric im selben Blockchain-Netzwerk auszuführen.

App Builder-CLI wird deinstalliert, wenn die Voraussetzungsprüfung nicht erfolgreich ist

Wenn Sie die Blockchain App Builder-Befehlszeilenschnittstelle (CLI) upgraden, indem Sie die neueste Version installieren oder neu installieren, wird die vorhandene Blockchain App Builder-CLI deinstalliert, wenn die Voraussetzungsprüfung nicht erfolgreich verläuft.

Problemumgehung: Sie können entweder die ältere Version der Blockchain App Builder-CLI neu installieren oder Ihr System aktualisieren, um die Voraussetzungen zu erfüllen, und dann die neuere Version der Blockchain App Builder-CLI installieren.

Kein Fehler, wenn eine partielle NFT-Transaktion eine falsche Anzahl an Dezimalstellen verwendet

Wenn Sie Blockchain App Builder verwenden, um mit Bruchteilen von NFTs zu arbeiten, die den ERC-1155-Standard verwenden, wird ein Fehler nicht angezeigt, wenn ein Transaktionsbetrag eine größere Anzahl von Dezimalstellen verwendet als die maximale Anzahl von Dezimalstellen in der Spezifikationsdatei. Stattdessen wird der tatsächliche Transaktionsbetrag auf die Anzahl der in der Spezifikationsdatei definierten Dezimalstellen gekürzt. Auch wenn die Salden des Absenders und des Empfängers auf die angegebene Anzahl von Stellen abgeschnitten werden, zeigt der Wert transactedAmount in der Transaktionshistorie den nicht abgeschnittenen Wert an.

Problemumgehung: Validieren Sie einen Transaktionsbetrag, bevor Sie eine Transaktion erstellen, um sicherzustellen, dass der Transaktionsbetrag keine größere Anzahl von Dezimalstellen verwendet, als in der Eingabespezifikationsdatei für den Chaincode angegeben wurde.

Kompatibilität der Go Chaincode-Version

Für Version 23.3.3 von Oracle Blockchain Platform wurde die verwendete Go-Version auf 1.20 aktualisiert. Wenn Sie versuchen, einen Chaincode bereitzustellen oder zu aktualisieren, der nicht mit Go 1.20 kompatibel ist, schlägt der Prozess möglicherweise fehl. Bevor Sie einen Chaincode upgraden oder bereitstellen, der in Go geschrieben ist, stellen Sie sicher, dass der Chaincode mit Go 1.20 erstellt werden kann. Mit den folgenden Befehlen können Sie den Inhalt des Chaincode-Ordners auf einem System, auf dem Go 1.20 installiert ist, auf Fehler prüfen:
go mod tidy
go mod vendor

Derzeit bereitgestellte Chaincodes sind von diesem Verhalten nicht betroffen und funktionieren nach dem Upgrade auf Oracle Blockchain Platform 23.3.3 weiterhin wie erwartet.

Node.js Chaincode-Versionskompatibilität

Für Version 23.3.3 von Oracle Blockchain Platform wurde die verwendete Version von Node.js auf 18.15.0 aktualisiert. Wenn Sie versuchen, einen Chaincode bereitzustellen oder zu aktualisieren, der nicht mit Node.js 18.15.0 kompatibel ist, verläuft der Prozess möglicherweise nicht erfolgreich. Bevor Sie ein Upgrade durchführen oder einen Chaincode bereitstellen, der in Node.js geschrieben ist, stellen Sie sicher, dass der Chaincode mit Node.js 18.15.0 erstellt werden kann.

Derzeit bereitgestellte Chaincodes sind von diesem Verhalten nicht betroffen und funktionieren nach dem Upgrade auf Oracle Blockchain Platform 23.3.3 weiterhin wie erwartet.

Probleme, die ursprünglich in früheren Releases gemeldet wurden:

Fiat-Geldtoken oder Saldenübertragungsbeispiel kann nicht von der Seite "Entwicklertools" aus ausgeführt werden

Eine neue Version des Fiat Money Token-Beispiels ist in Oracle Blockchain Platform 22.4.2 enthalten. Der aktualisierte Chaincode hat eine andere Paket-ID als die vorherige Version. Wenn Sie das Fiat Money Token-Beispiel bereitgestellt haben, wird das Beispiel nach dem Upgrade auf Oracle Blockchain Platform 22.4.2 nicht mehr als bereitgestellt auf der Seite "Entwicklertools" in der Konsole angezeigt und Sie können keine Vorgänge auf der Seite "Entwicklertools" für das Beispiel ausführen.

Dasselbe Verhalten tritt bei der Saldenübertragungsprobe auf, die für Oracle Blockchain Platform 22.3.2 aktualisiert wurde, um mit der atomaren Transaktionsfunktion zu arbeiten.

Problemumgehung: Installieren Sie den Beispiel-Chaincode erneut auf den Peers. Dadurch wird die neuere Version des Chaincodes mit der neuen Package-ID installiert. Aktualisieren Sie für jeden Kanal, in dem das Beispiel bereitgestellt wurde, den Chaincode auf das neue Package. Nachdem der Chaincode aktualisiert wurde, funktionieren Status und Vorgänge der Probe auf der Seite "Entwicklertools" normal.

Go Deployment-Fehler bei Verwendung von Blockchain App Builder

Beim Deployment eines Go Chaincode-Projekts mit Blockchain App Builder kann ein Fehler wie der Folgende auftreten:
ERROR RunCommand: spawn modd ENOENT
ERROR RunCommand: Error in Chaincode deployment
[+] Running 3/3
  Container ca.example.com Stopped 0.4s
  Container orderer.example.com Stopped 0.6s
  Container peer0.org1.example.com Stopped 0.6s
ERROR RunCommand: Error in Chaincode deployment, process exit with code 1
Workaround:
macOS
  1. Führen Sie den folgenden Befehl aus:
    env GO111MODULE=off go get ‘github.com/cortesi/modd/cmd/modd’
  2. Versuchen Sie es erneut.
Microsoft Windows
  1. Verwenden Sie go install, um den folgenden Befehl auszuführen:
    go install github.com/cortesi/modd/cmd/modd@latest
  2. Verwenden Sie go get, um die folgenden Befehle auszuführen:
    SET GO111MODULE=auto
    go get ‘github.com/cortesi/modd/cmd/modd’
  3. Versuchen Sie es erneut.

Initialisierungsfehler in TypeScript Chaincode, der von Blockchain App Builder generiert wird

Wenn Sie TypeScript Chaincode mit Blockchain App Builder Version 22.4.2 oder früher generieren, werden möglicherweise Fehler wie der folgende Text angezeigt, wenn Sie den Chaincode lokal oder remote bereitstellen oder ausführen:
Lokale Umgebung:
INFO: Error in initalizing chaincode. Error :  failed to initialize chaincode Error: Failed to 
initialize the chaincode Error: endorsement failure during invoke. response: status:500 message:"error 
in simulation: failed to execute transaction 
e22ba18c00ecbd3135cdb509e08667cf6d5d9e79c4217b73492b5bb50836d58d: could not launch chaincode 
testagain:v0: error building chaincode: error building image: failed to get chaincode package for 
external build: could not get legacy chaincode package 'testagain:v0': open 
/var/hyperledger/production/chaincodes/testagain.v0: no such file or directory
Remoteumgebung:
INFO: 

============ Started Initializing Chaincode ============

ERROR: {
  "Error": "Chaincode Deployment failed. Error in initializing chaincode: Status Code: 400, 
Error Message: {\"returnCode\":\"Failure\",\"error\":\"failed to invoke chaincode: 
Transaction processing for endorser 
[jasfounderdec5-oabcs1-ams.blockchain.ocp.oraclecloud.com:20010]: Chaincode status Code: 
(500) UNKNOWN. Description: error in simulation: failed to execute transaction 
947bbaf2feccc39cdf53bd7a07cd17f15d682a5a4ee6e3c3e63dec6346b0394e: error sending: chaincode 
stream terminated\",\"result\":null}"
}

Problemumgehung: Um dieses Verhalten für vorhandene Chaincodes zu umgehen, führen Sie die Schritte auf der folgenden Supportseite aus:

Deployment von TypeScript Chaincode in lokaler und Remote-OBP-Umgebung nicht erfolgreich

Um dieses Verhalten in neuen Chaincodes zu vermeiden, führen Sie ein Upgrade auf Blockchain App Builder 22.4.3 oder höher durch. Sie können Blockchain App Builder über die Registerkarte Entwicklertools im Bereich "Blockchain App Builder" der Oracle Blockchain Platform-Konsole herunterladen.

Gateway-Timeouts bei Verwendung der XA-Bibliothek

Wenn Sie die XA-Java-Bibliothek mit Oracle Blockchain Platform verwenden, können mehrere Blockchain-Transaktionen zu einer globalen Transaktion kombiniert werden, die von einem externen Transaktionsmanager gesteuert wird. Wenn die Ausführung der Blockchain-Transaktionen länger als der Gatewaytimeoutwert von 60 Sekunden dauert, kann der Transaktionsstatus auf der Transaktionsmanagerseite und auf der Oracle Blockchain Platform-Seite nicht deterministisch werden.

Workaround: Für dieses Problem gibt es keinen Workaround. In diesem Fall müssen Sie die Transaktion manuell auflösen.

Token Chaincode kann im Debug-Modus unter Microsoft Windows nicht ausgeführt werden

Wenn Sie Blockchain App Builder Version 22.2.1 oder früher verwenden, können Sie Token Chaincode nicht im Debug-Modus unter Microsoft Windows ausführen.

Problemumgehung: Führen Sie ein Upgrade auf die neueste Version von Blockchain App Builder durch. Wenn Sie kein Upgrade durchführen können, gehen Sie folgendermaßen vor:

  1. Öffnen Sie die Datei chaincode/.vscode/task.json zur Bearbeitung.
  2. Die sechste Zeile der Datei task.json enthält den Schlüssel command. Entfernen Sie die folgende Zeichenfolge aus der Zeile:
    -p '${workspaceFolder}' 
Beispiel: Die Zeile in der Datei task.json vor der Bearbeitung:
"command": "ochain debug -p '${workspaceFolder}' \"[{\\\"userId\\\":\\\"admin\\\",\\\"orgId\\\":\\\"Org1MSP\\\"}]\" -v v8",
Nach:
"command": "ochain debug \"[{\\\"userId\\\":\\\"admin\\\",\\\"orgId\\\":\\\"Org1MSP\\\"}]\" -v v8",

Einstellungen des Bestellservice werden nach dem Plattformupgrade nicht aktualisiert

Wenn Sie eine Instanz von Hyperledger Fabric v1.4.7 auf Hyperledger Fabric v2.2.4 upgraden, werden die vorhandenen Einstellungen für den Bestellservice beibehalten. Anders ausgedrückt: Eine upgegradete Instanz verwendet die vorhandenen Ordering-Service-Einstellungen der Instanz Hyperledger Fabric v1.4.7 und nicht die Standardeinstellungen für eine neue Instanz Hyperledger Fabric v2.2.4. In der folgenden Tabelle werden die Werte für die Einstellung des Bestellservice zusammengefasst. Weitere Informationen zum Bestellservice finden Sie unter Bestellservice verwalten.

Einstellung Standardwerte für Instanzen der Versionen v1.4.7 und upgegradet v2.2.4 Standardwerte für neue Instanzen der Version 2.2.4
Batch-Timeout (ms) 2.000 2.000
Maximale Nachrichtenanzahl 10 500
Absolute Nachrichtenbyte 98 98
Bevorzugte Nachrichtenbyte 512 2
Snapshot-Intervallgröße 20 16

Optionsattribut für Klatschführer nach Plattformupgrade nicht aktualisiert

Wenn Sie eine Instanz von Hyperledger Fabric v1.4.7 auf Hyperledger Fabric v2.2.4 upgraden, wird das Attribut für die Auswahl der Klatschführerschaft für die Peer-Knoten nicht aktualisiert. Anders ausgedrückt: Eine upgegradete Instanz verwendet das vorhandene Attribut der Instanz Hyperledger Fabric v1.4.7, nicht das Standardattribut für eine neue Instanz Hyperledger Fabric v2.2.4. Weitere Informationen zu Peerknotenattributen finden Sie unter Peerknotenattribute.

Limits für Ereignisgröße

Ab Version 22.2.1 ist die maximale Payload-Größe eines Ereignisses standardmäßig auf 50 KB begrenzt. Alle Ereignisse, die größer als die maximale Payload-Größe sind, werden gelöscht. Das Oracle-Team DevOps kann diesen Parameter auf Anforderung ändern. Wenn Sie Ereignisse abonnieren möchten, bei denen die Payload größer als 50 KB ist, öffnen Sie eine Serviceanfrage (SA) in My Oracle Support, um eine größere maximale Ereignisgröße anzufordern. Weitere Informationen finden Sie unter Ereignis abonnieren in der REST-API-Dokumentation.

Benutzer-IDs, die einen Doppelpunkt enthalten (:) können nicht in REST-API-Aufrufen verwendet werden

Mit Oracle Blockchain Platform können Sie eine Benutzer-ID, die einen Doppelpunkt (:) enthält, mit einer REST-Proxyregistrierung verknüpfen. Diese Benutzer-ID kann jedoch nicht in REST-API-Aufrufen verwendet werden, wenn die Basisauthentifizierung (Benutzername und Kennwort) verwendet wird.

Umgehung: Stellen Sie sicher, dass alle Benutzer, die REST-Proxyanmeldungen zugeordnet sind, keinen Doppelpunkt (:) in ihren Benutzer-IDs haben.

CORS-Header für ungültige Zugangsdaten nicht zurückgegeben

Kundenanwendungen, die REST-Proxytransaktionen aufrufen, erhalten in der Antwort nicht den Cross-Origin Resource Sharing-(CORS-)Header (den Header Access-Control-Allow-Origin), wenn die in der Anforderung gesendeten Zugangsdaten ungültig, falsch oder abgelaufen sind.

Auftragsstatusfehler beim Erstellen von Kanälen

Beim Erstellen eines Kanals wird möglicherweise der folgende Fehler angezeigt:
Failed to create the channel with error: aborted
Please check the orderers status.

Problemumgehung: Versuchen Sie erneut, den Kanal zu erstellen. Dies ist ein vorübergehendes Problem.

Debugging in Visual Studio Code unter Microsoft Windows

Unter Microsoft Windows kann beim Debuggen von Chaincode-Projekten in Visual Studio Code ein Fehler wie der folgende auftreten:
dlv: failed to install dlv(github.com/go-delve/delve/cmd/dlv@latest): Error: Command failed:
C:\Program Files (x86)\Go\bin\go.exe get -x github.com/go-delve/delve/cmd/dlv@latest
# get https://proxy.golang.org/github.com/go-delve/delve/cmd/dlv/@v/list
# get https://proxy.golang.org/github.com/@v/list
# get https://proxy.golang.org/github.com/go-delve/@v/list
# get https://proxy.golang.org/github.com/go-delve/delve/cmd/@v/list
# get https://proxy.golang.org/github.com/go-delve/delve/@v/list
# get https://proxy.golang.org/github.com/@v/list: 410 Gone (0.420s)
# get https://proxy.golang.org/github.com/go-delve/delve/cmd/@v/list: 410 Gone (1.040s)
# get https://proxy.golang.org/github.com/go-delve/@v/list: 410 Gone (1.062s)
# get https://proxy.golang.org/github.com/go-delve/delve/cmd/dlv/@v/list: 410 Gone (1.066s)
# get https://proxy.golang.org/github.com/go-delve/delve/@v/list: 200 OK (1.448s)
go: found github.com/go-delve/delve/cmd/dlv in github.com/go-delve/delve v1.8.3C:\Users\<UserName>\go\pkg\mod\github.com\go-delve\delve@v1.8.3\service\debugger\debugger.go:28:2:found packages native (proc.go) and 
your_operating_system_and_architecture_combination_is_not_supported_by_delve(support_sentinel.go) in C:\Users\Asus\go\pkg\mod\github.com\go-delve\delve@v1.8.3\pkg\proc\native
Derzeit gibt es keine Problemumgehung für diesen Fehler.

Umgebungen mit mehreren Organisationen und Blockchain App Builder

In einer Umgebung mit mehreren Organisationen müssen Sie möglicherweise die Konsole verwenden, um einige Vorgänge abzuschließen.

Um den Chaincode auf demselben Kanal über eine Teilnehmerinstanz erneut bereitzustellen, verwenden Sie die Konsole, um den Chaincode bereitzustellen.

(Hyperledger Fabric v2.2.4) Um den Chaincode zu aktualisieren, verwenden Sie die Konsole, und genehmigen Sie den Chaincode manuell von den Teilnehmern.

Skalierung funktioniert nur für jeweils eine Komponente

Sie können jeweils nur einen Knotentyp skalieren. Beispiel: Sie können Peerknoten hinzufügen und vorhandene Peerknoteneinstellungen gleichzeitig ändern. Wenn Sie jedoch auch den Speicher erhöhen möchten, müssen Sie dies separat tun.

Darüber hinaus können Sie jeweils nur einen Peer oder OSN skalieren. Beispiel: Sie können nicht zwei Peers in einem Vorgang hinzufügen.

Falsche Betriebssystemuhr kann zu abgelehnten Anforderungen führen

Wenn die lokale Uhr des Clients oder SDK mehr als 15 Minuten deaktiviert ist, werden die Anforderungen von diesem vom Peer und Orderer abgelehnt. Stellen Sie sicher, dass die lokale Uhr korrekt eingestellt ist.

Blockchain-Anwendungen funktionieren aufgrund eines älteren Client-SDK nicht wie erwartet

Eine Anwendung kann sich unerwartet verhalten, wenn sie eine ältere Version des Client-SDK verwendet.

Problemumgehung: Lesen Sie die Dokumentation mit den Client-SDK-Updates, und ändern Sie Ihre Anwendungen nach Bedarf. Weitere Informationen finden Sie unter Hyperledger Fabric SDKs in der Hyperledger Fabric-Dokumentation.

Die Oracle Blockchain Platform-Instanzen des Netzwerks können entzogene Zertifikate von Drittanbietern nicht verwalten

Wenn ein Oracle Blockchain Platform-Netzwerk Organisationen mit Zertifikaten von Drittanbietern oder Hyperledger Fabric-Organisationen enthält und deren Zertifikate entzogen werden, werden die entzogenen Zertifikate nicht auf die Oracle Blockchain Platform-Instanzen des Netzwerks angewendet, werden nicht angezeigt und können nicht entzogen werden.

Problemumgehung: Verwenden Sie die native Hyperledger Fabric-CLI oder das SDK, um die Zertifikatswiderruflisten-(CRL-)Datei der Organisation zu importieren.

Die Gründer-Kanalliste enthält fehlerhafte Informationen zu "Erstellt von" und die Option "Kanalorganisationen bearbeiten" ist nicht verfügbar

In einem gemischten Netzwerk (in dem eine Gründerinstanz und eine Teilnehmerinstanz unterschiedliche Versionen von Oracle Blockchain Platform ausführen) kann die Kanalliste des Gründers die falsche MSP-ID für einen von einem Teilnehmer erstellten Kanal anzeigen. Anstelle der MSP-ID des Teilnehmers wird die MSP-ID des Gründers angezeigt. Dies kann passieren, nachdem Sie die CRL importiert, die CRL entzogen oder angewendet oder eine Anker-Peer auf einem Kanal festgelegt haben.

Die Option Kanalorganisationen bearbeiten des Kanals ist nur für die Instanz verfügbar, die im Feld Erstellt von angezeigt wird. Wenn die falsche MSP-ID angezeigt wird, kann der Kanalersteller die Kanalorganisationen nicht aktualisieren.

Workaround: Für dieses Problem gibt es keinen Workaround.

ImplicitMeta-Policy wird von Oracle Blockchain Platform nicht unterstützt

Wenn Sie die native Hyperledger Fabric-CLI oder -SDK zum Ändern der Konfiguration eines Kanals verwenden, können einige der angegebenen Konfigurationseinstellungen von Oracle Blockchain Platform nicht unterstützt werden.

  • Die native Hyperledger Fabric-CLI und das SDK verwenden die Kanal-Policy ImplicitMeta für Lese- und Schreibvorgänge. Wenn der Kanal diese Policys verwendet, kann die Oracle Blockchain Platform-Konsole nicht garantieren, dass die administrativen Vorgänge (z.B. "Organisation bearbeiten") erfolgreich verarbeitet werden können.

    Workaround: Aktualisieren Sie die Lese- und Autoren-Policys auf die Signatur-Policys, und definieren Sie die Policy-Regeln nach Bedarf. Weitere Informationen finden Sie unter Access Control-Listen (ACL) in der Hyperledger Fabric-Dokumentation.

  • Wenn ein Kanal den Policy-Typ ImplicitMeta verwendet und Sie in der Kanalkonfiguration die mod_policy im Gruppenabschnitt in "Admins" ändern und der Kanal mehrere Organisationen enthält, können Sie den Kanal nicht mit Oracle Blockchain Platform verwalten. Beispiel: Sie können dem Kanal keine neuen Organisationen hinzufügen oder die ACL-Policy des Kanals in keiner Weise ändern, einschließlich der Wiederherstellung seines ursprünglichen Wertes.

    Problemumgehung: Verwenden Sie die native Hyperledger Fabric-CLI oder das SDK, um den Kanal zu verwalten.

Kanalersteller kann die Konfiguration des Kanals nicht aktualisieren

Wenn Sie einen Kanal mit der nativen Hyperledger Fabric-CLI oder dem SDK erstellen, ist die Ersteller-Policy nicht in der Datei configtx.yaml enthalten. Oracle Blockchain Platform erfordert die Ersteller-Policy, damit der Kanalersteller die Konfiguration eines Kanals bearbeiten kann.

Problemumgehung: Bearbeiten Sie die Datei configtx.yaml manuell, um die Ersteller-Policy hinzuzufügen.

Setzen von blocktolive auf 0 im instantiateChaincode-Endpunkt wird in der REST-API nicht unterstützt

Wenn Sie den instantiateChaincode-Endpunkt der REST-API verwenden und im dataCollectionConfig den blocktolive-Wert auf 0 setzen, wird der folgende Fehler angezeigt: {"respMesg":"invalid argument"}.

Um zu verhindern, dass Daten aus der privaten Datenbank gelöscht werden, müssen Sie für Hyperledger Fabric den Wert blocktolive auf 0 setzen. Die Oracle Blockchain Platform-REST-API unterstützt jedoch nicht die Einstellung dieser Konfiguration auf 0.

Problemumgehung: Verwenden Sie die Konsole, um den Chaincode zu instanziieren. Setzen Sie im Abschnitt "Private Datenerfassung" des Dialogfelds Chaincode instanziieren das Feld blocktolive auf 0.

Peer kann keine privaten Daten von einem anderen Peer abrufen

Ein Peer kann keine privaten Daten von einem anderen Peer abrufen, wenn der blocktolive-Wert einer privaten Datenerfassung kleiner als 10 ist und der maxPeerCount-Wert kleiner als die Gesamtanzahl der Peers ist, ohne dass der unterstützende Peer berücksichtigt wird. Dieser Wert wird festgelegt, wenn Sie mit der Konsole eine private Datenerfassungsdefinition erstellen oder die native Hyperledger Fabric-CLI oder das native SDK verwenden. Siehe https://jira.hyperledger.org/browse/FAB-11889.

Umgehung: Stellen Sie sicher, dass der Wert für blocktolive auf größer oder gleich 10 gesetzt ist. Sie können auch bestätigen, dass der Wert maxPeerCount auf nicht weniger als die Gesamtanzahl der Peers gesetzt ist, ohne den unterstützenden Peer einzuschließen. Falls erforderlich, können Sie den Chaincode erneut instanziieren oder aktualisieren, um diese Werte zurückzusetzen.

Inkonsistenz bei Einstellungen für Kanalerstellerorganisation und Kanal-Policy

Mit der Konsole können Sie einen Kanal erstellen und die ACL Ihrer Organisation auf ReaderOnly setzen. Nachdem Sie den neuen Kanal gespeichert haben, können Sie diese ACL-Einstellung nicht mehr über die Option Kanalorganisationen bearbeiten des Kanals aktualisieren.

Sie können jedoch die Option Kanal-Policys verwalten der Konsole verwenden, um Ihre Organisation der Writers Policy hinzuzufügen, wodurch die ACL-Einstellung ReaderOnly des Kanals überschrieben wird.

Workaround: Für dieses Problem gibt es keinen Workaround.

Exportierte und importierte Datei - Inkompatibilität

Sie können keine Dateien (CRLs, Zertifikate, Orderering-Serviceeinstellungen und Peers) zwischen der Konsole und den REST-APIs exportieren und importieren.

Von der Konsole und den REST-APIs exportierte Dateien sind nur für den Import mit derselben Komponente kompatibel. Beispiel: Wenn Sie einen Peer mit der Konsole exportieren, können Sie ihn nicht mit der REST-API importieren (Sie können ihn nur mit der Konsole importieren). Wenn Sie einen Peer mit der REST-API exportieren, können Sie ihn nicht mit der Konsole importieren (Sie können ihn nur mit der REST-API importieren).

Workaround: Für dieses Problem gibt es keinen Workaround.

Anforderungen für Chaincode-Namen

Die Anforderungen an den Chaincode-Namen und die Version der Oracle Blockchain Platform unterscheiden sich von den Anforderungen der Hyperledger Fabric. Sie müssen die Oracle Blockchain Platform-Anforderungen verwenden, wenn Sie einen Chaincode über die Konsole oder den Hyperledger Fabric-Client bereitstellen. Wenn Sie diese Anforderungen beim Deployment vom Hyperledger Fabric-Client nicht erfüllen, wird der Chaincode möglicherweise falsch in der Konsole aufgeführt.

Umgehung: Verwenden Sie die folgenden Regeln, wenn Sie einen Chaincode-Namen und eine Chaincode-Version bereitstellen.

  • Verwenden Sie alphanumerische ASCII-Zeichen, Bindestriche (-) und Unterstriche (_).
  • Der Name darf nur mit alphanumerischen ASCII-Zeichen beginnen und enden. Beispiel: Sie können keine Namen wie _mychaincode oder mychaincode_ verwenden.
  • Auf Bindestriche (-) und Unterstriche (_) müssen alphanumerische ASCII-Zeichen folgen. Beispiel: Sie können keine Namen wie my--chaincode oder my-_chaincode verwenden.
  • Der Name und die Version können jeweils maximal 64 Zeichen umfassen.
  • Die Chaincode-Version kann auch Punkte (.) und Pluszeichen (+) enthalten.

Datums- und Uhrzeitauswahlverhalten

Die Datums- und Uhrzeitauswahl für Oracle Blockchain Platform verhält sich nicht wie erwartet. Mit der Datums- und Uhrzeitauswahl können Sie Artikel wie Logdateien oder Buchaktivitäten filtern.

Problemumgehung: Verwenden Sie die folgenden Informationen, um die Datums- und Uhrzeitauswahl zu verwenden.

  • Wenn Sie einen bestimmten Zeitraum (z.B. Letzter Tag) auswählen und ihn dann erneut auswählen, um die Abfrage erneut auszuführen, wird die Abfrage nicht erneut ausgeführt. Um die neuesten Informationen abzurufen, klicken Sie auf die Schaltfläche "Aktualisieren".
  • Wenn Sie die Zeitzone auf Ihrem Computer nicht festgelegt haben, müssen Sie bei Auswahl der Option Benutzerdefiniert die Start- und Endzeit in GMT angeben. Wenn Sie jedoch die Zeitzoneneinstellung in den Einstellungen auf GMT festlegen (wählen Sie in der Konsole Ihren Instanznamen aus, und klicken Sie auf "Voreinstellungen" und dann auf "Zeitzoneneinstellung"), wird die Zeitzone in der Konsole automatisch in GMT konvertiert.

Manuelle Lieferung des Shim mit einem Chaincode

In Hyperledger Fabric enthält das fabric-ccenv-Image das Package github.com/hyperledger/fabric/core/chaincode/shim (shim). Auf diese Weise können Sie einen Chaincode verpacken, ohne den Shim einschließen zu müssen. Dies kann jedoch in zukünftigen Hyperledger Fabric-Releases zu Problemen führen und Probleme bei der Verwendung von Packages verursachen, die im Shim enthalten sind.

Problemumgehung: Um potenzielle Probleme zu vermeiden, sollten Sie das Shim-Paket manuell mit dem Chaincode herstellen, bevor Sie die Befehlszeilenschnittstelle peer zum Verpacken und Installieren eines Chaincodes oder zum Verpacken oder Installieren eines Chaincodes verwenden. Siehe https://jira.hyperledger.org/browse/FAB-5177.

Barrierefreie Dokumentation

Weitere Informationen finden Sie auf der Oracle Accessibility Program-Webseite unter http://www.oracle.com/accessibility/.

Zugang zu Oracle Support

Oracle-Kunden mit einem gültigen Oracle-Supportvertrag haben Zugriff auf elektronischen Support über My Oracle Support. Weitere Informationen erhalten Sie unter http://www.oracle.com/pls/topic/lookup?ctx=acc&id=info oder http://www.oracle.com/pls/topic/lookup?ctx=acc&id=trs, falls Sie eine Hörbehinderung haben.