Problèmes connus liés à Oracle Blockchain Platform sur Oracle Cloud Infrastructure
Découvrez les problèmes qui peuvent survenir lors de l'utilisation d'Oracle Blockchain Platform et comment les contourner.
Rubriques :
- Ajustement du stockage et des OCPU non pris en charge
- Trousses SDK Hyperledger Fabric obsolètes
- Valeur de stockage incorrecte déclarée dans l'API REST
- Certains champs non retournés par l'API REST de vérification des blocs
- Impossible de voir les détails du livre pour un canal
- Configuration de l'historique enrichi non enregistrée
- Compatibilité avec la version du code de chaîne de Go
- Compatibilité avec la version de chaîne de code Node.js
- Soldes bloqués inchangés après les approbations d'intrusion et de combustion
Problèmes initialement signalés dans les versions précédentes :
- Erreur de limite de compte lors de la mise à niveau des codes de chaîne de Go
- Erreur de jeton inattendue lors du débogage sur Microsoft Windows 11
- Syntaxe Go requise pour aucune limite de compte quotidienne
- Erreurs de temporisation du mandataire REST lors de l'utilisation des collections Postman
- La liste des fonctions dans Visual Studio Code inclut deux méthodes incorrectement
- L'interface de ligne de commande du générateur d'applications est désinstallée en cas d'échec de la vérification des préalables
- Aucune erreur lorsqu'une transaction NFT fractionnelle utilise un nombre incorrect de décimales
- Impossible d'exécuter un jeton d'argent Fiat ou un échantillon de transfert de solde à partir de la page Outils de développement
- Erreur de déploiement lors de l'utilisation du générateur d'applications Blockchain
- Échec de l'initialisation du code de chaîne TypeScript généré par le générateur d'applications Blockchain
- Temporisations de la passerelle lors de l'utilisation de la bibliothèque XA
- Impossible d'exécuter le code de chaîne de jeton en mode de débogage sur Microsoft Windows
- Limites de taille d'événement
- Les ID utilisateur contenant un point-virgule ( :) ne peuvent pas être utilisés dans les appels d'API REST
- En-tête CORS non retourné pour données d'identification non valides
- Erreur de statut des responsables de la commande lors de la création de canaux
- Débogage dans Visual Studio Code sur Microsoft Windows
- Environnements multiorganisations et générateur d'applications Blockchain
- La mise à l'échelle ne fonctionne que sur un composant à la fois
- L'horloge incorrecte du système d'exploitation peut entraîner des demandes rejetées
- Les applications Blockchain ne fonctionnent pas comme prévu en raison d'une trousse SDK client plus ancienne
- Les instances Oracle Blockchain Platform du réseau ne peuvent pas gérer les certificats de tiers révoqués
- La liste de canaux du fondateur contient des informations incorrectes créées par et l'option Modifier les organisations de canal n'est pas disponible
- La politique ImplicitMeta n'est pas prise en charge par Oracle Blockchain Platform
- Le créateur du canal ne peut pas mettre à jour la configuration du canal
- Réglage de blocktolive à 0 dans le point d'extrémité instantiateChaincode non pris en charge dans l'API REST
- Échec de l'extraction des données privées d'un autre pair par le pair
- Incohérence des paramètres d'organisation et de politique de canal de créateur de canal
- Incompatibilité avec les fichiers exportés et importés
- Exigences relatives au nom du code de chaîne
- Comportement du sélecteur de date et d'heure
Ajustement du stockage et des OCPU non pris en charge
L'ajustement de la capacité de stockage ou d'OCPU n'est pas pris en charge sur les instances Oracle Blockchain Platform version 25.4.1. Si vous tentez d'utiliser l'API REST pour ajuster la capacité de stockage ou d'OCPU, un message d'erreurUnsupportedOperationException est retourné.
Trousses SDK Hyperledger Fabric obsolètes
Les trousses SDK Hyperledger Fabric sont désormais obsolètes au profit de l'API client Fabric Gateway. Il est peut-être toujours possible d'utiliser les trousses SDK Hyperledger Fabric pour développer des applications pour Oracle Blockchain Platform, mais l'API client Fabric Gateway est privilégiée.Valeur de stockage incorrecte déclarée dans l'API REST
La valeurstorageUsedInTBs retournée par le point d'extrémité de l'API REST Obtenir les informations sur la plate-forme Blockchain retourne toujours la valeur 0 pour les instances Oracle Blockchain Platform version 25.4.1.
Solution de rechange : Il n'y a aucune solution de rechange pour ce problème.
Certains champs non retournés par l'API REST de vérification des blocs
Les champs suivants ne sont pas retournés par le point d'extrémité de l'API REST de vérification des blocs dans les instances Oracle Blockchain Platform version 25.4.1 :verifyResult et firstBlockNum.
Solution de rechange : Il n'y a aucune solution de rechange pour ce problème.
Impossible de voir les détails du livre pour un canal
Lorsque vous cliquez sur un bloc dans la page de grand livre pour un canal, les détails de la transaction s'affichent. Il y a un problème intermittent où parfois les détails de la transaction ne sont pas affichés lorsque vous cliquez sur un bloc.
Solution : Actualisez la page du navigateur, puis cliquez de nouveau sur le bloc pour afficher les détails de la transaction.
Configuration de l'historique enrichi non enregistrée
Lorsque vous cliquez sur Enregistrer dans la boîte de dialogue Configurer l'historique enrichi, l'interface utilisateur indique que la configuration globale a été enregistrée avec succès. Toutefois, lorsque vous essayez de voir la configuration de l'historique enrichi, elle n'est pas disponible car elle n'a pas été réellement enregistrée. Il s'agit d'une question intermittente.
Solution : Réessayez d'enregistrer la configuration de l'historique complet.
Compatibilité avec la version du code de chaîne de Go
Pour la version 25.4.1 d'Oracle Blockchain Platform, la version Go utilisée a été mise à jour à la version 1.24.4. Si vous tentez de déployer ou de mettre à niveau un code de chaîne qui n'est pas compatible avec la version 1.24.4, le processus risque d'échouer. Avant de mettre à niveau ou de déployer un code de chaîne écrit dans le Go, assurez-vous que le code de chaîne peut être créé avec le Go 1.24.4. Vous pouvez utiliser les commandes suivantes sur le contenu du dossier de code de chaîne d'un système sur lequel le service Go 1.24.4 est installé pour rechercher les erreurs :go mod tidygo mod vendorLes codes de chaîne actuellement déployés ne sont pas touchés par ce comportement et continueront de fonctionner comme prévu après la mise à niveau vers Oracle Blockchain Platform 25.4.1.
Compatibilité avec la version de chaîne de code Node.js
Pour la version 25.4.1 d'Oracle Blockchain Platform, la version de Node.js utilisée a été mise à jour à la version 22.14.0. Si vous tentez de déployer ou de mettre à niveau un code de chaîne qui n'est pas compatible avec Node.js 22.14.0, le processus risque d'échouer. Avant de mettre à niveau ou de déployer un code de chaîne écrit dans le document Node.js, assurez-vous que le code de chaîne peut être créé avec la version Node.js 22.14.0.Les codes de chaîne actuellement déployés ne sont pas touchés par ce comportement et continueront de fonctionner comme prévu après la mise à niveau vers Oracle Blockchain Platform 25.4.1.
Soldes bloqués inchangés après les approbations d'intrusion et de combustion
Les approbations d'intrusion et de gravure utilisent le mécanisme de blocage, qui prend un ID d'opération comme entrée. Les méthodes getOnHoldBalanceWithOperationId et getOnHoldDetailsWithOperationId retournent le montant de blocage associé à un ID opération spécifié. Pour les opérations de blocage standard qui utilisent les méthodes executeHold et releaseHold, le montant du blocage change une fois la méthode terminée. Par exemple, si vous demandez un blocage avec l'ID opération first pour 100 jetons, après approbation (à l'aide de la méthode executeHold), le montant du blocage est 0. Les méthodes getOnHoldBalanceWithOperationId et getOnHoldDetailsWithOperationId retourneront 0 comme montant de blocage pour l'ID opération first.
Ce comportement ne s'applique pas aux approbations de frappe ou de gravure. Par exemple, si vous demandez à extraire 100 jetons avec l'ID opération second, après approbation (à l'aide de la méthode approveMint), le montant de blocage est toujours de 100. Les méthodes getOnHoldBalanceWithOperationId et getOnHoldDetailsWithOperationId retourneront 100 pour l'ID opération second.
Dans le cas de la frappe ou du brûlage, l'approbation représente une demande de frappe ou de brûlage de cette quantité, mais aucun transfert n'a lieu à l'étape de l'approbation. Étant donné que les approbations de frappe et de gravure utilisent le même mécanisme de blocage interne que les opérations de blocage standard, les méthodes d'interrogation renvoient la valeur stockée dans la paire clé-valeur de blocage, qui n'est pas modifiée après les approbations de frappe ou de gravure.
Solution de rechange : Vous pouvez utiliser les méthodes getOnHoldBalanceWithOperationId et getOnHoldDetailsWithOperationId pour vérifier les montants de mint ou de brûlure demandés, mais tenez compte des différences entre ces opérations et les opérations de blocage standard.
Problèmes initialement signalés dans les versions précédentes :
Erreur de limite de compte lors de la mise à niveau des codes de chaîne de Go
Si vous mettez à niveau le code de chaîne généré par une version précédente du générateur d'applications Blockchain dans le langage Go à l'aide de la norme Token Taxonomy Framework étendue vers la version 25.2.2, l'erreur suivante peut s'afficher lorsque vous tentez de terminer une transaction :account has exceeded the limit for maximum number of transfers -1Cette erreur survient également dans la version de Go du code de chaîne propre au modèle CBDC de gros. Cette erreur se produit car la version précédente de Blockchain App Builder a utilisé la valeur -1 pour représenter aucune limite de compte quotidienne, mais dans la version 25.2.2, il n'y a pas de valeur par défaut et l'absence de cette paire clé/valeur indique que le compte n'a pas de limite quotidienne.
max_daily_amount ou max_daily_transaction, les paires clé-valeur seront supprimées afin que le compte fonctionne correctement avec la version 25.2.2. SetMaxDailyAmount(token_id string, org_id string, user_id string, max_daily_amount ...float64)SetMaxDailyTransactionCount(token_id string, org_id string, user_id string, max_daily_transactions ...float64)Erreur de jeton inattendue lors du débogage sur Microsoft Windows 11
Lorsque vous utilisez la fonction de débogage Blockchain App Builder dans Visual Studio Code s'exécutant sur Microsoft Windows 11, le message d'erreur suivant s'affiche :Unexpected token ':"admin"' in expression or statement.Lorsque cette erreur se produit, le déploiement et le débogage du code de chaîne échouent.Solution de rechange : Il n'y a aucune solution de rechange pour ce problème.
Syntaxe Go requise pour aucune limite de compte quotidienne
Dans le code de chaîne généré par le générateur d'applications Blockchain qui utilise la norme Token Taxonomy Framework étendue et le langage de programmation Go, si vous ne voulez pas définir les limites de compte quotidiennes lors de l'utilisation de la méthodeCreateAccount, vous devez transmettre la valeur vide "" et non "{}" pour le paramètre daily_limits. Les paramètres corrects pour la version Go de la méthode CreateAccount sont similaires à l'exemple suivant : ["CentralBank","cb","fungible",""]Cette version Go du code de chaîne propre au modèle CBDC de gros comporte également cette exigence.Erreurs de temporisation du mandataire REST lors de l'utilisation des collections Postman
Pour les collections Postman générées par Blockchain App Builder, qui exécutent des transactions à l'aide du mandataire REST d'Oracle Blockchain Platform, la valeur de temporisation par défaut est réglée à 6000, comme illustré dans l'exemple suivant :{
"chaincode": "WholesaleCBDCConfidential",
"args": [
"getTokenAuditors"
],
"timeout": 6000,
"sync": true,
"peer": "org-xyz-abc.blockchain.ocp.oraclecloud.com:20009",
"transientMap": {
"args": "[]"
}
}'Dans certains cas, le traitement par mandataire REST peut expirer même si la transaction est en cours de traitement par Oracle Blockchain Platform, ce qui entraîne la réponse suivante :{
"returnCode": "Failure",
"error": "failed to invoke chaincode: Client Status Code: (5) TIMEOUT. Description: request timed out or been cancelled",
"result": null
}Solution : Augmentez la valeur de temporisation en fonction de votre cas d'utilisation spécifique.
La liste des fonctions dans Visual Studio Code inclut deux méthodes incorrectement
Lorsque vous utilisez la fonction de transactions confidentielles avec la version Visual Studio Code de Blockchain App Builder, deux méthodes sont affichées dans la liste des fonctions du volet Exécuter :executeHoldTokensSender et executeHoldTokensReceiver. Ces deux méthodes ne fonctionnent correctement que lorsqu'elles sont utilisées avec l'API de validation en deux phases du mandataire REST, que la version Visual Studio Code de Blockchain App Builder ne prend pas en charge. N'utilisez pas ces deux méthodes dans la version Visual Studio Code de Blockchain App Builder.
L'interface de ligne de commande du générateur d'applications est désinstallée en cas d'échec de la vérification des préalables
Lorsque vous mettez à niveau l'interface de ligne de commande du générateur d'applications Blockchain en installant ou en réinstallant la dernière version, en cas d'échec de la vérification des préalables, l'interface de ligne de commande existante du générateur d'applications Blockchain est désinstallée.Solution : Vous pouvez soit réinstaller l'ancienne version de l'interface de ligne de commande Blockchain App Builder, soit mettre à jour votre système pour répondre aux conditions préalables, puis installer la version la plus récente de l'interface de ligne de commande Blockchain App Builder.
Aucune erreur lorsqu'une transaction NFT fractionnelle utilise un nombre incorrect de décimales
Lorsque vous utilisez Blockchain App Builder pour travailler avec des NFT fractionnaires qui utilisent la norme ERC-1155, si un montant de transaction utilise un nombre de décimales supérieur au nombre maximal de décimales dans le fichier de spécification, une erreur n'est pas indiquée. Au lieu de cela, le montant réel de la transaction est tronqué au nombre de décimales défini dans le fichier de spécification. En outre, même si les soldes de l'expéditeur et du destinataire sont tronqués au nombre de chiffres spécifié, la valeurtransactedAmount dans l'historique des transactions affiche la valeur non tronquée.
Solution de rechange : Validez un montant de transaction avant de créer une transaction pour vous assurer que le montant de transaction n'utilise pas un nombre de décimales supérieur à celui indiqué dans le fichier de spécification d'entrée pour le code de chaîne.
Impossible d'exécuter un jeton d'argent Fiat ou un échantillon de transfert de solde à partir de la page Outils de développement
Une nouvelle version de l'échantillon de jeton d'argent Fiat est incluse avec Oracle Blockchain Platform 22.4.2. Le code de chaîne mis à jour a un ID paquetage différent de celui de la version précédente. Si vous avez déployé l'exemple de jeton d'argent Fiat, après la mise à niveau vers Oracle Blockchain Platform 22.4.2, l'exemple ne sera plus affiché comme déployé dans la page Outils de développement de la console et vous ne pourrez pas exécuter d'opérations à partir de la page Outils de développement pour l'échantillon.Le même comportement se produit avec l'exemple de transfert de solde, qui a été mis à jour pour Oracle Blockchain Platform 22.3.2 afin de fonctionner avec la fonction de transactions atomiques.
Solution de rechange : Installez de nouveau l'exemple de code de chaîne sur les pairs, ce qui installera la version la plus récente du code de chaîne avec le nouvel ID d'ensemble. Pour chaque canal sur lequel l'échantillon a été déployé, mettez à niveau le code de chaîne vers le nouveau paquetage. Une fois le code de chaîne mis à niveau, le statut et les opérations de l'échantillon dans la page Developer Tools fonctionnent normalement.
Erreur de déploiement lors de l'utilisation du générateur d'applications Blockchain
Lors du déploiement d'un projet de code de chaîne de Go à l'aide du générateur d'applications Blockchain, vous risquez de rencontrer une erreur similaire à la suivante :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
-
- Exécutez la commande suivante :
env GO111MODULE=off go get ‘github.com/cortesi/modd/cmd/modd’ - Réessayez le déploiement.
- Exécutez la commande suivante :
- Microsoft Windows
-
- Utilisez
go installpour exécuter la commande suivante :go install github.com/cortesi/modd/cmd/modd@latest - Utilisez
go getpour exécuter les commandes suivantes :SET GO111MODULE=auto go get ‘github.com/cortesi/modd/cmd/modd’ - Réessayez le déploiement.
- Utilisez
Échec de l'initialisation du code de chaîne TypeScript généré par le générateur d'applications Blockchain
Si vous générez du code de chaîne TypeScript avec le générateur d'applications de chaîne de blocs version 22.4.2 ou antérieure, des erreurs similaires au texte suivant peuvent s'afficher lors du déploiement ou de l'exécution du code de chaîne localement ou à distance :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 directoryINFO:
============ 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}"
}Solution de rechange : Pour contourner ce comportement pour les codes de chaîne existants, suivez les étapes de la page de soutien suivante :
Échec du déploiement du code de chaîne TypeScript dans l'environnement OBP local et distant
Pour éviter ce comportement dans les nouveaux codes de chaîne, effectuez une mise à niveau vers Blockchain App Builder 22.4.3 ou version ultérieure. Vous pouvez télécharger Blockchain App Builder à partir de l'onglet Outils de développement du volet Blockchain App Builder de la console Oracle Blockchain Platform.
Temporisations de la passerelle lors de l'utilisation de la bibliothèque XA
Lorsque vous utilisez la bibliothèque Java XA avec Oracle Blockchain Platform, plusieurs transactions de chaîne de blocs peuvent être combinées en une transaction globale contrôlée par un gestionnaire de transactions externe. Si les transactions de chaîne de blocs prennent plus de temps que la valeur de temporisation de la passerelle de 60 secondes pour se terminer, le statut de la transaction peut devenir non déterministe du côté du gestionnaire de transactions et du côté d'Oracle Blockchain Platform.Solution de rechange : Il n'y a aucune solution de rechange pour ce problème. Dans ce cas, vous devez résoudre manuellement la transaction.
Impossible d'exécuter le code de chaîne de jeton en mode de débogage sur Microsoft Windows
Si vous utilisez Blockchain App Builder version 22.2.1 ou version antérieure, vous ne pouvez pas exécuter le code de chaîne de jeton en mode de débogage sur Microsoft Windows.Solution de rechange : Effectuez une mise à niveau vers la dernière version de Blockchain App Builder. Si vous ne parvenez pas à effectuer la mise à niveau, procédez comme suit :
- Ouvrez le fichier
chaincode/.vscode/task.jsonpour le modifier. - La sixième ligne du fichier
task.jsoncomprend la clécommand. Supprimez la chaîne suivante de la ligne :-p '${workspaceFolder}'
task.json avant la modification :"command": "ochain debug -p '${workspaceFolder}' \"[{\\\"userId\\\":\\\"admin\\\",\\\"orgId\\\":\\\"Org1MSP\\\"}]\" -v v8","command": "ochain debug \"[{\\\"userId\\\":\\\"admin\\\",\\\"orgId\\\":\\\"Org1MSP\\\"}]\" -v v8",Limites de taille d'événement
À partir de la version 22.2.1, la taille maximale des données utiles d'un événement est limitée par défaut à 50 Ko. Tout événement dont la taille est supérieure à la taille maximale des données utiles sera supprimé. L'équipe Oracle DevOps peut modifier ce paramètre par demande. Si vous prévoyez vous abonner à des événements dont les données utiles seront supérieures à 50 Ko, ouvrez une demande de service dans My Oracle Support pour demander une taille d'événement maximale supérieure. Pour plus d'informations, voir S'abonner à un événement dans la documentation sur l'API REST.Les ID utilisateur contenant un point-virgule ( :) ne peuvent pas être utilisés dans les appels d'API REST
Oracle Blockchain Platform vous permet d'associer un ID utilisateur contenant un deux-points ( :) à une inscription de mandataire REST. Toutefois, cet ID utilisateur ne peut pas être utilisé dans les appels d'API REST lorsque l'authentification de base (nom d'utilisateur et mot de passe) est utilisée.Solution : Assurez-vous que tous les utilisateurs associés aux inscriptions de mandataire REST n'ont pas de deux-points ( :) dans leur ID utilisateur.
En-tête CORS non retourné pour données d'identification non valides
Les applications de client qui appellent des transactions mandataire REST ne recevront pas l'en-tête CORS (Cross-Origin Resource Sharing) (l'en-tête Access-Control-Allow-Origin) dans la réponse si les données d'identification envoyées dans la demande sont non valides, incorrectes ou expirées.Erreur de statut des responsables de la commande lors de la création de canaux
Lors de la création d'un canal, l'erreur suivante peut s'afficher :Failed to create the channel with error: aborted
Please check the orderers status.Solution : Essayez de créer à nouveau le canal. Il s'agit d'une question intermittente.
Débogage dans Visual Studio Code sur 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\nativeIl n'existe aucune solution de rechange pour cette erreur pour le moment.Environnements multiorganisations et générateur d'applications Blockchain
Dans un environnement avec plusieurs organisations, vous devrez peut-être utiliser la console pour effectuer certaines opérations.
Pour redéployer le code de chaîne sur le même canal au moyen d'une instance de participant, utilisez la console pour déployer le code de chaîne.
(Hyperledger Fabric v2.2.4) Pour mettre à niveau le code de chaîne, utilisez la console et approuvez manuellement le code de chaîne des participants.
La mise à l'échelle ne fonctionne que sur un composant à la fois
Vous ne pouvez ajuster qu'un seul type de noeud à la fois. Par exemple, vous pouvez ajouter des noeuds pairs et modifier les paramètres de noeuds pairs existants en même temps, mais si vous souhaitez également augmenter votre stockage, vous devez le faire séparément.
De plus, vous ne pouvez ajuster qu'un pair ou OSN à la fois. Par exemple, vous ne pouvez pas ajouter deux pairs en une seule opération.
L'horloge incorrecte du système d'exploitation peut entraîner des demandes rejetées
Si l'horloge locale du client ou de la trousse SDK est arrêtée à plus de 15 minutes, les demandes en seront rejetées par le pair et le responsable de la commande. Assurez-vous que votre horloge locale est réglée correctement.
Les applications Blockchain ne fonctionnent pas comme prévu en raison d'une trousse SDK client plus ancienne
Une application peut se comporter de manière inattendue si elle utilise une ancienne version de la trousse SDK de client.
Solution de rechange : Lisez la documentation décrivant les mises à jour de la trousse SDK client et modifiez vos applications selon les besoins. Pour plus d'informations, consultez les trousses SDK Hyperledger Fabric dans la documentation sur Hyperledger Fabric.
Les instances Oracle Blockchain Platform du réseau ne peuvent pas gérer les certificats de tierce partie révoqués
Si un réseau Oracle Blockchain Platform contient des organisations avec des certificats de tiers ou des organisations Hyperledger Fabric et que leurs certificats sont révoqués, les certificats révoqués ne sont pas appliqués, ne s'affichent pas dans les instances Oracle Blockchain Platform du réseau et ne peuvent pas être révoqués.
Solution de rechange : Utilisez l'interface de ligne de commande ou la trousse SDK Hyperledger Fabric native pour importer le fichier de liste de révocation de certificats (CRL) de l'organisation.
La liste de canaux du fondateur contient des informations incorrectes créées par et l'option Modifier les organisations de canal n'est pas disponible
Dans un réseau mixte (où une instance fondatrice et une instance de participant exécutent différentes versions d'Oracle Blockchain Platform), la liste des canaux du fondateur peut afficher le mauvais ID fournisseur de services multiples pour un canal créé par un participant. Au lieu de l'ID MSP du participant, l'ID MSP du fondateur s'affiche. Cela peut se produire après que vous avez importé la liste de révocation de certificats, révoqué ou appliqué la liste de révocation de certificats, ou défini un pair d'ancrage sur un canal.
L'option Modifier les organisations de canal du canal n'est disponible que pour l'instance affichée dans le champ Créé par. Si le mauvais ID MSP est affiché, le créateur du canal ne peut pas mettre à jour les organisations de canal.
Solution de rechange : Il n'y a aucune solution de rechange pour ce problème.
ImplicitMeta La politique n'est pas prise en charge par Oracle Blockchain Platform
Si vous utilisez l'interface de ligne de commande ou la trousse SDK Hyperledger Fabric native pour modifier la configuration d'un canal, certains paramètres de configuration que vous spécifiez ne peuvent pas être pris en charge par Oracle Blockchain Platform.
-
L'interface de ligne de commande et la trousse SDK Hyperledger Fabric natives utilisent la politique de canal ImplicitMeta pour les lecteurs et les auteurs. Lorsque le canal utilise ces politiques, la console Oracle Blockchain Platform ne peut pas garantir que les opérations d'administration (par exemple, modifier l'organisation) peuvent être traitées avec succès.
Solution : Mettez à jour les stratégies de lecture et d'écriture avec les stratégies Signature et définissez les règles de stratégie selon les besoins. Pour plus d'informations, consultez la section Listes de contrôle d'accès (LCA) dans la documentation sur Hyperledger Fabric.
-
Si un canal utilise le type de politique ImplicitMeta et que, dans la configuration du canal, vous remplacez mod_policy dans la section Groupes par Admins et qu'il y a plus d'une organisation dans le canal, vous ne pouvez pas utiliser Oracle Blockchain Platform pour gérer le canal. Par exemple, vous ne pouvez pas ajouter de nouvelles organisations au canal ni modifier la politique de liste de contrôle d'accès du canal de quelque manière que ce soit, notamment en restaurant sa valeur initiale.
Solution de rechange : Utilisez l'interface de ligne de commande ou la trousse SDK Hyperledger Fabric native pour gérer le canal.
Le créateur du canal ne peut pas mettre à jour la configuration du canal
Lorsque vous utilisez l'interface de ligne de commande ou la trousse SDK Hyperledger Fabric native pour créer un canal, la politique de créateur n'est pas incluse dans le fichier configtx.yaml. Oracle Blockchain Platform nécessite que la politique Creator permette au créateur du canal de modifier la configuration d'un canal.
Solution de rechange : Modifiez manuellement le fichier configtx.yaml pour ajouter la politique Creator.
Réglage de blocktolive à 0 dans le point d'extrémité instantiateChaincode non pris en charge dans l'API REST
Si vous utilisez le point d'extrémité instantiateChaincode de l'API REST et que dans dataCollectionConfig, vous réglez la valeur blocktolive à 0, vous recevrez l'erreur suivante : {"respMesg" :"invalid argument"}.
Pour empêcher l'épuration des données de la base de données privée, Hyperledger Fabric exige que vous régliez la valeur blocktolive à 0. Toutefois, l'API REST d'Oracle Blockchain Platform ne prend pas en charge le réglage de cette configuration à 0.
Solution de rechange : Utilisez la console pour instancier le code de chaîne et, dans la section Collections de données privées de la boîte de dialogue Instantier le code de chaîne, réglez le champ blocktolive à 0.
Échec de l'extraction des données privées d'un autre pair par le pair
Un pair ne peut pas extraire de données privées d'un autre pair si la valeur blocktolive d'une collection de données privées est inférieure à 10 et que sa valeur maxPeerCount est inférieure au nombre total de pairs, sans inclure le pair endosifiant. Cette valeur est définie lorsque vous utilisez la console pour créer une définition de collection de données privée ou utilisez l'interface de ligne de commande ou la trousse SDK Hyperledger Fabric native.
Solution de rechange : Confirmez que la valeur blocktolive est réglée à supérieure ou égale à 10. Ou, vérifiez que la valeur maxPeerCount est réglée au moins au nombre total de pairs, à l'exclusion du pair d'endossement. Si nécessaire, vous pouvez rétablir ou mettre à niveau le code de chaîne pour réinitialiser ces valeurs.
Incohérence des paramètres d'organisation et de politique de canal de créateur de canal
Vous pouvez utiliser la console pour créer un canal et régler la liste de contrôle d'accès de votre organisation à ReaderOnly. Après avoir enregistré le nouveau canal, vous ne pouvez pas mettre à jour ce paramètre de liste de contrôle d'accès à partir de l'option Modifier les organisations de canal du canal.
Toutefois, vous pouvez utiliser l'option Gérer les politiques de canal de la console pour ajouter votre organisation à la politique d'écriture, qui remplace le paramètre de liste de contrôle d'accès ReaderOnly du canal.
Solution de rechange : Il n'y a aucune solution de rechange pour ce problème.
Incompatibilité avec les fichiers exportés et importés
Vous ne pouvez pas exporter et importer des fichiers (CRL, certificats, paramètres de service de tri et pairs) entre la console et les API REST.
Les fichiers exportés par la console et les API REST ne sont compatibles que pour l'importation avec le même composant. Par exemple, si vous exportez un pair à l'aide de la console, vous ne pouvez pas l'importer à l'aide de l'API REST (vous ne pouvez l'importer qu'avec la console). Et si vous exportez un pair avec l'API REST, vous ne pouvez pas l'importer avec la console (vous ne pouvez l'importer qu'avec l'API REST).
Solution de rechange : Il n'y a aucune solution de rechange pour ce problème.
Exigences relatives au nom du code de chaîne
Les exigences de version et de nom du code de chaîne Oracle Blockchain Platform sont différentes des exigences de Hyperledger Fabric. Vous devez utiliser les exigences d'Oracle Blockchain Platform lorsque vous déployez un code de chaîne à partir de la console ou du client Hyperledger Fabric. Si vous ne respectez pas ces exigences lors du déploiement à partir du client Hyperledger Fabric, le code de chaîne peut être répertorié de manière incorrecte dans la console.
Solution de rechange : Utiliser les règles suivantes lors du déploiement d'un nom et d'une version de code de chaîne.
- Utilisez des caractères alphanumériques ASCII, des tirets (-) et des traits de soulignement (_).
- Le nom doit commencer et se terminer uniquement par des caractères alphanumériques ASCII. Par exemple, vous ne pouvez pas utiliser de noms tels que _mychaincode ou mychaincode_.
- Les tirets (-) et les traits de soulignement (_) doivent être suivis de caractères alphanumériques ASCII. Par exemple, vous ne pouvez pas utiliser de noms tels que my--chaincode ou my-_chaincode.
- Le nom et la version peuvent chacun comporter jusqu'à 64 caractères.
- La version du code de chaîne peut également contenir des points (.) et des signes plus (+).
Comportement du sélecteur de date et d'heure
Le sélecteur de date et d'heure d'Oracle Blockchain Platform ne se comporte pas comme prévu. Vous utilisez le sélecteur de date et d'heure pour filtrer des articles tels que des fichiers journaux ou des activités de grand livre.
Solution de rechange : Utilisez les informations suivantes pour vous aider à utiliser le sélecteur de date et d'heure.
- Si vous sélectionnez une période spécifique (par exemple, Dernier jour), puis que vous la sélectionnez de nouveau pour réexécuter l'interrogation, celle-ci ne sera pas réexécutée. Pour obtenir les informations les plus récentes, cliquez sur le bouton Actualiser.
- Si vous n'avez pas défini le fuseau horaire sur votre ordinateur, lorsque vous sélectionnez l'option Personnalisé, vous devez spécifier l'heure de début et l'heure de fin dans GMT. Toutefois, si vous réglez le paramètre de fuseau horaire à GMT dans les préférences (dans la console, sélectionnez le nom de votre instance, puis cliquez sur Préférences, puis sur Paramètre de fuseau horaire), le fuseau horaire de la console est automatiquement converti en GMT.
Problèmes connus d'Oracle Cloud pour Oracle Blockchain Platform sur Oracle Cloud Infrastructure
F94755-08