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.
Themen:
- Unterstützte Hyperledger Fabric-Versionen
- Unterstützte Browser
- Interoperabilität von Hyperledger Fabric-Versionen
- App Builder-CLI wird deinstalliert, wenn die Prüfung der Voraussetzungen nicht erfolgreich ist
- Kein Fehler, wenn eine NFT-Transaktion mit Bruchteilen eine falsche Anzahl von Dezimalstellen verwendet
Ursprünglich in früheren Releases gemeldete Probleme:
- Go Chaincode-Versionskompatibilität
- Node.js Chaincode-Versionskompatibilität
- Fiat-Geldtoken- oder Saldotransfermuster kann nicht auf der Seite "Entwicklertools" ausgeführt werden
- Deployment-Fehler bei Verwendung von Blockchain App Builder
- Initialisierungsfehler in TypeScript-Kettencode, der von Blockchain App Builder generiert wird
- Gateway-Timeouts bei Verwendung der XA-Bibliothek
- Token-Kettencode kann nicht im Debug-Modus unter Microsoft Windows ausgeführt werden
- Bestellserviceeinstellungen nach Plattformupgrade nicht aktualisiert
- Gossip Leader-Wahlattribut nach Plattformupgrade nicht aktualisiert
- Limit für Ereignisgröße
- Benutzer-IDs, die einen Doppelpunkt (:) enthalten, können nicht in REST-API-Aufrufen verwendet werden
- CORS-Header für ungültige Zugangsdaten nicht zurückgegeben
- Statusfehler des Bestellers beim Erstellen von Kanälen
- Debugging in Visual Studio Code unter Microsoft Windows
- Umgebungen mit mehreren Organisationen und Blockchain App Builder
- Skalierung funktioniert nur auf einer Komponente gleichzeitig
- Falsche Betriebssystemuhr kann zu abgelehnten Anforderungen führen
- Blockchain-Anwendungen funktionieren aufgrund eines älteren Client-SDK nicht wie erwartet
- Die Oracle Blockchain Platform-Instanzen des Netzwerks können entzogene Zertifikate von Drittanbietern nicht verwalten
- Die Kanalliste des Gründers enthält falsche Informationen zum Ersteller, und die Option "Kanalorganisationen bearbeiten" ist nicht verfügbar
- ImplicitMeta-Policy wird von Oracle Blockchain Platform nicht unterstützt
- Kanalersteller kann die Konfiguration des Kanals nicht aktualisieren
- Einstellung von blocktolive auf 0 in instantiateChaincode-Endpunkt wird in REST-API nicht unterstützt
- Die Gegenstelle kann keine privaten Daten von einer anderen Gegenstelle abrufen
- Inkonsistenz bei Einstellungen für Kanalerstellerorganisation und Kanal-Policy
- Exportierte und importierte Dateien - Inkompatibilität
- Anforderungen für Chaincode-Namen
- Verhalten der Datums- und Uhrzeitauswahl
Unterstützte Hyperledger Fabric-Versionen
Oracle Blockchain Platform 24.4.3 unterstützt Hyperledger Fabric v2.5.7. Alle neuen Benutzer verwenden standardmäßig Hyperledger Fabric v2.5.7.
Unterstützte Browser
Informationen zu unterstützten Browsern, die für das Instanz-Provisioning über Oracle Cloud Infrastructure verwendet werden können, finden Sie unter Bei der Konsole anmelden.
Wenn sich die Oracle Blockchain Platform-Konsole nicht wie erwartet verhält, stellen Sie sicher, dass 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 im selben Blockchain-Netzwerk basieren, nicht.Problemumgehung: Versuchen Sie nicht, verschiedene Hauptversionen von Hyperledger Fabric im selben Blockchain-Netzwerk auszuführen.
App Builder-CLI wird deinstalliert, wenn die Prüfung der Voraussetzungen nicht erfolgreich ist
Wenn Sie die Blockchain App Builder-Befehlszeilenschnittstelle (CLI) durch Installation oder Neuinstallation der neuesten Version upgraden, wird die vorhandene Blockchain App Builder-CLI deinstalliert, wenn die Prüfung der Voraussetzungen nicht erfolgreich ist.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 NFT-Transaktion mit Bruchteilen eine falsche Anzahl von Dezimalstellen verwendet
Wenn Sie Blockchain App Builder verwenden, um mit NFTs mit Bruchteilen zu arbeiten, die den ERC-1155-Standard verwenden, wird kein Fehler angezeigt, wenn ein Transaktionsbetrag eine größere Anzahl von Dezimalstellen als die maximale Anzahl von Dezimalstellen in der Spezifikationsdatei verwendet. Stattdessen wird der tatsächliche Transaktionsbetrag auf die Anzahl der in der Spezifikationsdatei definierten Dezimalstellen gekürzt. Auch wenn die Salden des Absenders und Empfängers auf die angegebene Anzahl von Ziffern gekürzt werden, zeigt der WerttransactedAmount
in der Transaktionshistorie den nicht gekürzten Wert an.
Problemumgehung: Validieren Sie einen Transaktionsbetrag, bevor Sie eine Transaktion erstellen, um sicherzustellen, dass der Transaktionsbetrag nicht eine größere Anzahl von Dezimalstellen verwendet als in der Eingabespezifikationsdatei für den Chaincode angegeben.
Ursprünglich in früheren Releases gemeldete Probleme:
Go Chaincode-Versionskompatibilität
Für die 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 ein Chaincode aktualisieren oder bereitstellen, der in Go geschrieben ist, stellen Sie sicher, dass der Chaincode mit Go 1.20 erstellt werden kann. Sie können die folgenden Befehle für den Inhalt des Chaincode-Ordners auf einem System verwenden, auf dem Go 1.20 installiert ist, um auf Fehler zu 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 die 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 upzugraden, der nicht mit Node.js 18.15.0 kompatibel ist, schlägt der Prozess möglicherweise fehl. Bevor Sie ein Chaincode upgraden oder 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.
Fiat-Geldtoken- oder Saldotransfermuster kann nicht auf der Seite "Entwicklertools" 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 Package-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 auf der Seite "Entwicklertools" in der Konsole bereitgestellt angezeigt, und Sie können keine Vorgänge auf der Seite "Entwicklertools" für das Beispiel ausführen.Dasselbe Verhalten tritt bei der Probe "Saldenübertragung" auf, die für Oracle Blockchain Platform 22.3.2 aktualisiert wurde, um mit der Funktion "Atomtransaktionen" zu arbeiten.
Umgehung: Installieren Sie den Beispiel-Chaincode erneut auf den Peers, wodurch die neuere Version des Chaincodes mit der neuen Package-ID installiert wird. Führen Sie für jeden Kanal, in dem das Beispiel bereitgestellt wurde, ein Upgrade des Chaincodes auf das neue Package durch. Nach dem Upgrade des Chaincodes funktionieren der Status und die Vorgänge des Beispiels auf der Seite "Entwicklertools" normal.
Deployment-Fehler bei Verwendung von Blockchain App Builder
Bei der Bereitstellung 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
- macOS
-
- Führen Sie den folgenden Befehl aus:
env GO111MODULE=off go get ‘github.com/cortesi/modd/cmd/modd’
- Wiederholen Sie das Deployment.
- Führen Sie den folgenden Befehl aus:
- Microsoft Windows
-
- Verwenden Sie
go install
, um den folgenden Befehl auszuführen:go install github.com/cortesi/modd/cmd/modd@latest
- Verwenden Sie
go get
, um die folgenden Befehle auszuführen:SET GO111MODULE=auto go get ‘github.com/cortesi/modd/cmd/modd’
- Wiederholen Sie das Deployment.
- Verwenden Sie
Initialisierungsfehler in TypeScript-Kettencode, der von Blockchain App Builder generiert wird
Wenn Sie den Chaincode TypeScript 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: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
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}"
}
Umgehung: Um dieses Verhalten für vorhandene Chaincodes zu umgehen, führen Sie die Schritte auf der folgenden Supportseite aus:
Deployment von TypeScript-Kettencode in lokaler und Remote-OBP-Umgebung nicht erfolgreich
Um dieses Verhalten bei 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 Entwicklungstools 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 in einer globalen Transaktion kombiniert werden, die von einem externen Transaktionsmanager gesteuert wird. Wenn die Ausführung der Blockchain-Transaktionen länger dauert als der Timeoutwert für das Gateway von 60 Sekunden, kann der Transaktionsstatus sowohl auf der Seite des Transaktionsmanagers als auch auf der Seite von Oracle Blockchain Platform nicht deterministisch werden.Workaround: Es gibt keinen Workaround für dieses Problem. In diesem Fall müssen Sie die Transaktion manuell lösen.
Token-Kettencode kann nicht im Debug-Modus unter Microsoft Windows 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: Upgrade auf die neueste Version von Blockchain App Builder. Gehen Sie folgendermaßen vor, wenn Sie kein Upgrade durchführen können:
- Öffnen Sie die Datei
chaincode/.vscode/task.json
zur Bearbeitung. - Die sechste Zeile der Datei
task.json
enthält den Schlüsselcommand
. Entfernen Sie die folgende Zeichenfolge aus der Zeile:-p '${workspaceFolder}'
task.json
vor der Bearbeitung:"command": "ochain debug -p '${workspaceFolder}' \"[{\\\"userId\\\":\\\"admin\\\",\\\"orgId\\\":\\\"Org1MSP\\\"}]\" -v v8",
"command": "ochain debug \"[{\\\"userId\\\":\\\"admin\\\",\\\"orgId\\\":\\\"Org1MSP\\\"}]\" -v v8",
Bestellserviceeinstellungen nach Plattformupgrade nicht aktualisiert
Wenn Sie ein Upgrade einer Instanz von Hyperledger Fabric v1.4.7 auf Hyperledger Fabric v2.2.4 ausführen, werden Ihre vorhandenen Bestellserviceeinstellungen beibehalten. Mit anderen Worten: Eine upgegradete Instanz verwendet die vorhandenen Bestellserviceeinstellungen der Hyperledger Fabric v1.4.7-Instanz und nicht die Standardeinstellungen für eine neue Hyperledger Fabric v2.2.4-Instanz. In der folgenden Tabelle sind die Werte der Anforderungsserviceeinstellungen zusammengefasst. Weitere Informationen zum Bestellservice finden Sie unter Bestellservice verwalten.
Einstellung | Standardwerte für Instanzen mit Version 1.4.7 und Upgrade von Version 2.2.4 | Standardwerte für neue Instanzen der Version 2.2.4 |
---|---|---|
Batchtimeout (ms) | 2.000 | 2.000 |
Maximale Nachrichtenanzahl | 10 | 500 |
Absolute Nachrichtenbyte | 98 | 98 |
Bevorzugte Nachrichtenbyte | 512 | 2 |
Snapshot-Intervallgröße | 20 | 16 |
Gossip Leader-Wahlattribut nach Plattformupgrade nicht aktualisiert
Wenn Sie ein Upgrade einer Instanz von Hyperledger Fabric v1.4.7 auf Hyperledger Fabric v2.2.4 durchführen, wird das Gossip Leader-Auswahlattribut für die Peer-Knoten nicht aktualisiert. Mit anderen Worten: Eine aktualisierte Instanz verwendet das vorhandene Attribut der Hyperledger Fabric v1.4.7-Instanz und nicht das Standardattribut für eine neue Hyperledger Fabric v2.2.4-Instanz. Weitere Informationen zu Peerknotenattributen finden Sie unter Peerknotenattribute.
Limit 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 DevOps-Team 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 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 mit einem Doppelpunkt (:) 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.Problemumgehung: Stellen Sie sicher, dass alle Benutzer, die mit REST-Proxyanmeldungen verknüpft 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 (die Kopfzeile Access-Control-Allow-Origin), wenn die in der Anforderung gesendeten Zugangsdaten ungültig, falsch oder abgelaufen sind.Statusfehler des Bestellers 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, den Kanal erneut zu erstellen. Dies ist ein vorübergehendes Problem.
Debugging in Visual Studio Code unter Microsoft Windows
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 einige Vorgänge mit der Konsole ausführen.
Um den Chaincode über eine Teilnehmerinstanz auf demselben Kanal 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 auf einer Komponente gleichzeitig
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.
Außerdem können Sie jeweils nur einen Peer oder OSN skalieren. Beispiel: Sie können nicht zwei Peers in einem einzelnen Vorgang hinzufügen.
Falsche Betriebssystemuhr kann zu abgelehnten Anforderungen führen
Wenn die lokale Uhr des Clients oder SDK mehr als 15 Minuten entfernt ist, werden die Anforderungen davon 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, in der die Client-SDK-Updates beschrieben werden, 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 entweder Organisationen mit Drittanbieterzertifikaten oder Hyperledger Fabric-Organisationen enthält und deren Zertifikate widerrufen 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 Zertifikatswiderruflistendatei (CRL) der Organisation zu importieren.
Die Kanalliste des Gründers enthält falsche Informationen zum Ersteller, 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 widerrufen oder angewendet oder einen Ankerpeer 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 Ersteller des Kanals die Kanalorganisationen nicht aktualisieren.
Workaround: Es gibt keinen Workaround für dieses Problem.
ImplicitMeta-Policy wird von Oracle Blockchain Platform nicht unterstützt
Wenn Sie die native Hyperledger Fabric-CLI oder das SDK verwenden, um die Konfiguration eines Kanals zu ändern, können einige der von Ihnen angegebenen Konfigurationseinstellungen nicht von Oracle Blockchain Platform unterstützt werden.
-
Die native Hyperledger Fabric-CLI und das SDK verwenden die Kanal-Policy ImplicitMeta für Leser und Autoren. 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.
Problemumgehung: Aktualisieren Sie die Lese- und Schreib-Policys auf die Signatur-Policys, und definieren Sie die Policy-Regeln nach Bedarf. Weitere Informationen finden Sie in der Hyperledger Fabric-Dokumentation unter Access Control-Listen (ACL).
-
Wenn ein Kanal den Policy-Typ ImplicitMeta verwendet und in der Kanalkonfiguration mod_policy im Gruppenabschnitt in "Admins" geändert wird und mehr als eine Organisation im Kanal vorhanden ist, 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 des ursprünglichen Wertes.
Problemumgehung: Verwalten Sie den Kanal mit der nativen Hyperledger Fabric-CLI oder dem SDK.
Kanalersteller kann die Konfiguration des Kanals nicht aktualisieren
Wenn Sie die native Hyperledger Fabric-CLI oder das SDK zum Erstellen eines Kanals verwenden, ist die Ersteller-Policy nicht in der Datei configtx.yaml enthalten. Oracle Blockchain Platform erfordert die Ersteller-Policy, damit der Ersteller des Kanals die Konfiguration eines Kanals bearbeiten kann.
Problemumgehung: Bearbeiten Sie die Datei configtx.yaml manuell, um die Ersteller-Policy hinzuzufügen.
Einstellung von blocktolive auf 0 in instantiateChaincode-Endpunkt wird in REST-API nicht unterstützt
Wenn Sie den instantiateChaincode
-Endpunkt der REST-API verwenden und in dataCollectionConfig
den Wert blocktolive
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 in Hyperledger Fabric den Wert blocktolive
auf 0 setzen. Die Oracle Blockchain Platform-REST-API unterstützt die Einstellung dieser Konfiguration jedoch nicht auf 0.
Problemumgehung: Verwenden Sie die Konsole, um den Chaincode zu instanziieren, und setzen Sie im Abschnitt "Private Datensammlungen" des Dialogfelds Chaincode instanziieren das Feld blocktolive auf 0.
Die Gegenstelle kann keine privaten Daten von einer anderen Gegenstelle abrufen
Ein Peer kann private Daten nicht 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 den bestätigenden Peer einzuschließen. Dieser Wert wird festgelegt, wenn Sie mit der Konsole eine Definition für die private Datenerfassung erstellen oder die native Hyperledger Fabric-CLI oder das SDK verwenden.
Problemumgehung: Bestätigen Sie, dass der Wert blocktolive
größer oder gleich 10 ist. Stellen Sie auch sicher, dass der Wert maxPeerCount
auf nicht weniger als die Gesamtanzahl von Peers gesetzt ist, ohne den bestätigenden Peer einzuschließen. Bei Bedarf 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 ü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. Dadurch wird die ACL-Einstellung ReaderOnly des Kanals überschrieben.
Workaround: Es gibt keinen Workaround für dieses Problem.
Exportierte und importierte Dateien - 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: Es gibt keinen Workaround für dieses Problem.
Anforderungen für Chaincode-Namen
Die Anforderungen an den Namen und die Version des Oracle Blockchain Platform-Kettencodes 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 über den Hyperledger Fabric-Client nicht erfüllen, wird der Chaincode möglicherweise falsch in der Konsole aufgeführt.
Problemumgehung: Verwenden Sie die folgenden Regeln beim Deployment eines Chaincode-Namens und einer Chaincode-Version.
- 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.
- Name und Version können jeweils bis zu 64 Zeichen umfassen.
- Die Chaincode-Version kann auch Punkte (.) und Pluszeichen (+) enthalten.
Verhalten der Datums- und Uhrzeitauswahl
Die Datums- und Uhrzeitauswahl von Oracle Blockchain Platform verhält sich nicht wie erwartet. Mit der Datums- und Uhrzeitauswahl können Sie Elemente wie Logdateien oder Buchaktivitäten filtern.
Problemumgehung: Verwenden Sie die folgenden Informationen, um die Datums- und Uhrzeitauswahl zu verwenden.
- Wenn Sie einen bestimmten Zeitraum auswählen (z.B. Letzter Tag), 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 Voreinstellungen auf GMT setzen (wählen Sie in der Konsole Ihren Instanznamen aus, klicken Sie auf Voreinstellungen und dann auf Zeitzoneneinstellung), wird die Zeitzone in der Konsole automatisch in GMT konvertiert.
Barrierefreie Dokumentation
For information about Oracle's commitment to accessibility, visit the Oracle Accessibility Program website at http://www.oracle.com/pls/topic/lookup?ctx=acc&id=docacc.
Zugang zu Oracle Support
Der Zugriff auf und die Nutzung von Oracle-Supportservices durch Oracle-Kunden erfolgt gemäß den in der jeweiligen Oracle-Bestellung für die entsprechenden Services angegebenen Vertragsbedingungen.
Bekannte Probleme mit Oracle Cloud für Oracle Blockchain Platform auf Oracle Cloud Infrastructure (2. Generation)
F94753-04